2016-06-14 51 views
2

我正在嘗試編寫regex以在<input>字段中使用,其中接受0到60之間的數字。這是一個我現在有:接受0到60之間的數字,但不允許前導零

<input type="number" min="0" max="60" pattern="^([0-5]?[0-9]|60)$"> 

它工作正常,但問題是,像02投入不應該被驗證。你知道如何改善這種表達?

在此先感謝您的答覆!

+1

使用'type =「text」',否則'pattern'將被忽略。您也可以省略模式中的'^'和'$',因爲HTML5模式默認爲錨定。所以,你想禁止前導零,你呢?然後使用'

+0

02不應該被驗證? – Prathyush

+0

爲什麼你甚至不允許前導零?只需將它們放在服務器端,即將其轉換爲整型,然後它們自動消失。 – tkausl

回答

4

如果你不想接受02,爲什麼你把這樣的規則放在你的模式中?

正確的是:^([1-5]?[0-9]|60)$

也,如上面提到的意見,pattern屬性不type=number工作 - 使用text代替(支持包括:文本,日期,搜索,網址,電話,電子郵件地址和密碼)

+0

謝謝!我實際上已經嘗試過,甚至用'type =「number」'它正常工作 –

2
<input type="text" min="0" max="60" pattern="^([1-5]?[0-9]|60)$"> 

請注意,這也將接受「0」。這是所需的行爲?

+0

'input type = number'不允許pattern屬性 – pwolaq

+0

你是對的。它應該是type =「text」。我會改變它。 –

相關問題