关于Javascript中RegExp的一个问题
我写了一个正则表达式关于Javascript中RegExp的一个问题,javascript,Javascript,我写了一个正则表达式 ^([+/-]?([0-9]+()?)|([0-9]*[0-9]+)$ 我通过两种方式创建它 var _regex = "^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$"; var _regexFloat = new RegExp(_regex); 和 var _regexFloat = /^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$/ ; 测试数据为“1a”和“a1” 在第二条道路上,它运行良好 但
^([+/-]?([0-9]+()?)|([0-9]*[0-9]+)$
我通过两种方式创建它
var _regex = "^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$";
var _regexFloat = new RegExp(_regex);
和var _regexFloat = /^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$/ ;
测试数据为“1a”和“a1”在第二条道路上,它运行良好
但在第一种情况下,它返回了真值
如果我有什么不对劲,谁能给我建议一下吗 非常感谢
环境:
Windows Server 2003
IE 6
我相信您需要避开字符串中的反斜杠(在第一个版本中) 试试这个:
var _regex = "^([+/-]?([0-9]+(\\.)?)|([0-9]*\\.[0-9]+))$";
var _regexFloat = new RegExp(_regex);
喂,这个正则表达式是做什么用的?要知道字符串是否包含浮点吗?当然,这正是第二种语法存在的原因。转义使其可读性降低。我同意,我使用第二个版本。