Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 .match(";)和.match(/^$/)之间有什么区别?_Javascript_Jquery_Regex - Fatal编程技术网

Javascript .match(";)和.match(/^$/)之间有什么区别?

Javascript .match(";)和.match(/^$/)之间有什么区别?,javascript,jquery,regex,Javascript,Jquery,Regex,我在检查某个元素中的空HTML内容时遇到了一个问题。当我使用 someElement.trim().match("") 即使HTML内容是空的,我有时也会因此而变得真实。我把它改成了 someElement.trim().match(/^$/) 现在它似乎总是返回正确的布尔值 两者之间的区别是什么?match(“”)与match(new RegExp(“”))和new RegExp(“”)返回与空字符串匹配的/(?:)/,因为如果子字符串匹配则返回true,则该字符串不被锚定。而/^$/被锚

我在检查某个元素中的空HTML内容时遇到了一个问题。当我使用

someElement.trim().match("")
即使HTML内容是空的,我有时也会因此而变得真实。我把它改成了

someElement.trim().match(/^$/)
现在它似乎总是返回正确的布尔值

两者之间的区别是什么?

match(“”)
match(new RegExp(“”))
new RegExp(“”)
返回与空字符串匹配的
/(?:)/
,因为如果子字符串匹配则返回
true,则该字符串不被锚定。而
/^$/
被锚定
^
匹配输入的开头,而
$
匹配输入的结尾

其他例子:

# true
'hello'.match('h')
'hello'.match('e')

# false
'hello'.match('^e$')
请单击
并创建一个示例输入和预期输出
与任何内容都不匹配<代码>/^$/
匹配已应用.html()的空行someElement->someElement.html().trim().match()
表示无效。任何事物中都不存在任何东西<代码>^$表示输入字符串的开头和结尾相遇。确保中间没有字符。