2017-07-17 89 views
0

我構造了一個正則表達式來匹配日期時間格式dd.mm.yyyy hh:ii。 這對正則表達式測試器很有效:https://regex101.com/r/AX4nxj/1 但是,當在輸入字段的模式屬性中使用它時,它根本不驗證。你甚至可以輸入「a」並提交。正則表達式不工作在html輸入模式

<input type="text" required="required" pattern="(?:(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))\.(?:0[1-9]|1[0-2])\.(?:19|20)[0-9]{2}\ (?:[01]\d|2[0-3]):[0-5]\d" name="formName" /> 

你可以自己嘗試一下:http://jsfiddle.net/h2uwhL70/

這是爲什麼? :(HTML是否使用不同的正則表達式的格式或什麼

+0

唯一的錯誤是一個空格前的反斜槓。 –

回答

1

我覺得你的正則表達式是有點verborage與錯:?d那麼試試這個:

^(0+[1-9]|[1-2]+[0-9]|3+[0-1]).(0+[1-9]|1+[0-2]).\d{4} (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9])$ 
+1

也許只是將\ d \ d \ d \ d翻轉到\ d {4},但我喜歡它! – sniperd

+0

謝謝。我對正則表達式不太瞭解,但看起來不正確,也不起作用正則表達式測試器和html模式) – grindit

+0

我的意思是,爲什麼有三個「:」?這是應該匹配的 – grindit