我想使用正则表达式验证文本框中的条目。该模式应为
integer, integer or float
因此有效的条目可以是
1234, 1234 123, 123.45
无效的条目将是
abd, 123 123, abc abc, abc
到目前为止,我已经尝试过
var entry = "123,123.4" var patt = new RegExp("^[0-9]+,(?:[\d+(\.\d+]+,?){0,1}$"); res = patt.test(entry);
但它返回false,尽管应该返回true
用这个替换你的regExp:
var reg = new RegExp("^[0-9]+,[0-9]+.?[0-9]*");
同时要在逗号后接受空格:
var reg = new RegExp("^[0-9]+, [0-9]+.?[0-9]*");
如果是1a,则需要在最后加上$
你应该逃脱你的点
您到底想与'?+'做些什么?您是要加“ *”吗?
这行得通,请您更新它甚至可以接受空间。因此,如果它的123、123.4(带有空格)也应该通过。提前致谢
如果您需要它来接受空格,则可能应该添加几个\ s +。但是执行Dhaval所说的并使用String.split(',')然后使用String.trim()每个字符串都是有意义的。
这将匹配
1, 1a
-这实际上不是有效的。