Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于Javascript中RegExp的一个问题_Javascript - Fatal编程技术网

关于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);

喂,这个正则表达式是做什么用的?要知道字符串是否包含浮点吗?当然,这正是第二种语法存在的原因。转义使其可读性降低。我同意,我使用第二个版本。