我有这样一个正则表达式:
var pat = new RegExp("[0-9]{1}\.[0-9]{1}");
我使用jQuery这样从文本框中获取数字:
var theValue = $(item).val();
我一直在输入数字,并用此行测试正则表达式:
alert(pat.test(theValue));
如果输入数字.111,则表示通过。情况并非如此,因为第一个数字必须是0-9,后跟一个句点,然后是另一个数字0-9。我看不到我在做什么错。
最佳答案
要在字符串中使用,需要转义\
以便出现反斜杠字符。
var pat = new RegExp("[0-9]{1}\\.[0-9]{1}");
一个更简洁,也许更可靠的形式是:
/[0-9]\.[0-9]/
假设模式应该匹配一个数字,然后匹配一个句点,再匹配另一个数字。