如何使用JavaScript的includes()方法检测字符串是否包含反斜杠\
如何检测字符串中是否包含反斜杠(\)
你碰到的这个问题太常见了——反斜杠在JavaScript里是转义字符,单独写一个\时,它会把后面的字符转义,而不是被当作普通字符处理。所以要检测字符串里的反斜杠,得先正确表示这个字符本身。
这里有两种简单靠谱的解决方法:
方法1:用双反斜杠配合includes()匹配
在JavaScript字符串里,两个连续的反斜杠\\会被解析成一个实际的反斜杠字符。你只需要把代码改成这样:
if (this.inputCity.includes('\\')) { // 这里写你的业务逻辑 }
这样'\\'就代表了单个的\字符,includes()就能正确识别并匹配了。
方法2:用正则表达式匹配
如果需要更复杂的匹配场景(比如检测多个反斜杠),也可以用正则表达式。注意正则里的反斜杠同样需要转义,所以正则字面量里要写/\\/;如果用RegExp构造函数,得写四个反斜杠\\\\(因为字符串里的两个\\会先被解析成一个\,正则里再转义一次):
// 正则字面量方式 if (/\\/.test(this.inputCity)) { // 你的业务逻辑 } // RegExp构造函数方式 if (new RegExp('\\\\').test(this.inputCity)) { // 你的业务逻辑 }
核心总结一下:要表示一个实际的反斜杠字符,在JavaScript字符串里必须用双反斜杠\\来代替——不管是在includes()的参数里还是正则表达式中,都得遵循这个规则。
内容的提问来源于stack exchange,提问作者Pietro Tamburini
相关产品推荐
相关产品推荐

