Javascript 正则表达式不起作用

如果我只在开始时给出特殊符号,那么它就可以工作,否则就无法工作。


例如:


var password = '@Sourav12345'


if (password.search(/[@_!#$%^&*()<>?/\|}{~:]/)) {

    return true

 }

else{

  return false

}

如果我将密码更改为 Sourav@12345.it 将不起作用。请。帮我


一只名叫tom的猫
浏览 579回答 3
3回答

小怪兽爱吃肉

这是正确的正则表达式:/[@_!#$%^&*()<>?\/\|}{~:]/刚刚转义“/”以使其工作

守着一只汪

您的正则表达式应该可以正常工作,您可能遇到的问题是search()如果找到第一个匹配的出现则返回索引,否则返回-1.所以只有你@的第一个字符的情况才会false在你的情况下评估。您需要调整您的条件:var password = 'Sourav12345@.it'var search = password.search(/[@_!#$%^&*()<>?/\|}{~:]/);if (search >= 0) {&nbsp; &nbsp; console.log(true)&nbsp;}else{&nbsp; console.log(false)}或者使用不同的方法来检查像这样的正则表达式 test()var password = 'Sourav12345@.it'var test = /[@_!#$%^&*()<>?/\|}{~:]/.test(password);if (test) {&nbsp; console.log(true)} else {&nbsp; console.log(false)}

温温酱

search() 方法在字符串中搜索指定值并返回匹配的位置。如果没有找到它会返回 -1 否则它会返回位置号&nbsp; var x='@Sourav12345'.search('/[@_!#$%^&*()<>?/\|}{~:]/') > 0?true:false;console.log(x)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript