Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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 Regex:Dot.test()总是返回true,为什么?_Javascript_Regex - Fatal编程技术网

Javascript Regex:Dot.test()总是返回true,为什么?

Javascript Regex:Dot.test()总是返回true,为什么?,javascript,regex,Javascript,Regex,为什么它(点)总是返回真值 var regExp = new RegExp('.', 'i'); alert(regExp.test('edee')) 请检查正则表达式中的fiddle点是否与任何字符匹配。像这样逃避它: var regExp = new RegExp('\\.', 'i'); alert(regExp.test('edee'))//False alert(regExp.test('e.dee')) //True 正则表达式中的表示任何字符..因此它将始终返回true匹配任何

为什么它(点)总是返回真值

var regExp = new RegExp('.', 'i');
alert(regExp.test('edee'))

请检查正则表达式中的fiddle点是否与任何字符匹配。像这样逃避它:

var regExp = new RegExp('\\.', 'i');
alert(regExp.test('edee'))//False
alert(regExp.test('e.dee')) //True

正则表达式中的
表示任何字符..因此它将始终返回
true
匹配任何单个字符。要匹配
文字,请使用
'\.
。要精确匹配一个字符,请使用定位<代码>^。$。另外,不需要
i
标志。我还建议使用正则表达式字面语法。我们有什么方法可以像往常一样使用它吗?你能像往常一样定义
?如果你想包含
,那么你必须以
\”的形式避开它。
@himanshupareek66,我刚才在告诉下一个投票人可能认为下一个投票的原因是什么。下一个投票人可能会这么想问题是
并没有得到很好的研究
,但若表达式中有两个点,比如var regExp=newregexp('\\..','i');警报(regExp.test('ee.t'))则它工作错误..您必须转义每个点,因此如果要匹配“e..dee”,您需要:var regExp=new regExp('\\.\.\.''i');