javascript中的字符串比较返回一个布尔值

mag*_*iam 7 javascript

javascript中是否有一个比较字符串并返回布尔值的函数?我找到了.match,但它返回匹配的字符串.我希望还有别的东西,以便我在比较一个字符串时会有一个较小的代码.因为我想检查一个字符串是否有这个单词而不是继续.

谢谢

Noa*_*tas 16

您可以使用test()返回布尔值的RegEx 方法:

/a/.test('abcd'); // returns true.
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的答案."`test()`方法执行搜索正则表达式和指定字符串之间的匹配.返回"true"或"false". - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test (2认同)

Ali*_*tad 12

您可以使用类型扩充,尤其是在您需要经常使用此函数时:

String.prototype.isMatch = function(s){
   return this.match(s)!==null 
}
Run Code Online (Sandbox Code Playgroud)

所以你可以使用:

var myBool = "ali".isMatch("Ali");
Run Code Online (Sandbox Code Playgroud)

一般认为,不鼓励使用类型扩充,因为它可以与其他扩充冲突.

根据Javascript Patterns的书,它的使用必须受到限制.

我个人认为没关系,只要你使用一个好的命名,如:

String.prototype.mycompany_isMatch = function(s){
   return this.match(s)!==null 
}
Run Code Online (Sandbox Code Playgroud)

这将使它丑陋安全.


Cra*_*ent 5

.indexOf()哪些将返回找到的字符串的位置,如果找不到则返回-1