我想用javascript正則表達式驗證'int'字段。如何在數字正則表達式中允許空格?
我用這串RE
var numbers =/^[0-9]+$/;
這expresion不允許在文本框中空間。
如何創建允許文本框中的空格的正則表達式?
我想用javascript正則表達式驗證'int'字段。如何在數字正則表達式中允許空格?
我用這串RE
var numbers =/^[0-9]+$/;
這expresion不允許在文本框中空間。
如何創建允許文本框中的空格的正則表達式?
添加一個空格字符集:
/^[0-9 ]+$/
如果要保證至少一個數字存在,你可以使用一個前瞻:
/^(?=\s*\d)[\d\s]+$/
這將允許只輸入空格。 – 2013-03-21 05:02:03
或'/ s'。 – 2013-03-21 05:02:11
@ blender:由此表達式字符串產生的代碼錯誤,它顯示無效的參數錯誤。 – user2110346 2013-03-21 05:06:39
添加可選的空間有:
var numbers =/^\s*[0-9]+\s*$/;
儘管其他答案'/^[0-9] + $ /'更直接地回答了這個問題,我覺得這是他們實際想要的。 – 2013-03-21 05:02:29
@Rob:我試過這個,它不允許空間進入。 – user2110346 2013-03-21 05:03:59
這允許任何一端的空格,但不能分散在數字內。 – 2013-03-21 05:05:37
它取決於您想要允許空格的位置以及是否只需輸入空格(無數字) 被允許。如果你想至少需要一個數字和空格的分佈,你可以這樣做:
/^(\s*\d+)+\s*$/
這將允許輸入如「202 555 1212」
@特德霍普:不,我不想要這樣的輸出,我只想要數字,如果用戶不輸入任何內容,那麼它應該允許去 – user2110346 2013-03-21 05:11:40
@ user2110346 - 也許你應該編輯你的問題,並解釋你到底想要完成什麼。一些例子也有幫助。迄今爲止的答案代表(至少)三種不同的解釋你的要求,你似乎都不喜歡它們。 – 2013-03-21 05:21:22
給出無效的表達式錯誤 – user2110346 2013-03-21 05:13:13
您正在使用哪種瀏覽器?它適用於我嘗試的一切。 [fiddle.re演示](http://fiddle.re/3tme6)也驗證。 – mvp 2013-03-21 05:14:47
我正在使用IE8,它仍然不工作 – user2110346 2013-03-21 05:19:36
這個正則表達式允許數字和空格。
/[^\d\s]/
對不起esha,但它不工作..空間是不允許的。 – user2110346 2013-03-21 05:21:56
/^ \ s * \ d [\ d \ s] * $ / – 2013-03-21 06:27:19
你是什麼意思「允許空格」?到目前爲止的答案表明,這可以用幾種(不兼容)的方式來解釋。 – 2013-03-21 05:22:41