我想用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