如果我只在开始时给出特殊符号,那么它就可以工作,否则就无法工作。例如:var password = '@Sourav12345'if (password.search(/[@_!#$%^&*()<>?/\|}{~:]/)) { return true }else{ return false}如果我将密码更改为 Sourav@12345.it 将不起作用。请。帮我
3 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
您的正则表达式应该可以正常工作,您可能遇到的问题是search()如果找到第一个匹配的出现则返回索引,否则返回-1.
所以只有你@的第一个字符的情况才会false在你的情况下评估。您需要调整您的条件:
var password = 'Sourav12345@.it'
var search = password.search(/[@_!#$%^&*()<>?/\|}{~:]/);
if (search >= 0) {
console.log(true)
}
else{
console.log(false)
}
或者使用不同的方法来检查像这样的正则表达式 test()
var password = 'Sourav12345@.it'
var test = /[@_!#$%^&*()<>?/\|}{~:]/.test(password);
if (test) {
console.log(true)
} else {
console.log(false)
}
温温酱
TA贡献1752条经验 获得超4个赞
search() 方法在字符串中搜索指定值并返回匹配的位置。
如果没有找到它会返回 -1 否则它会返回位置号
var x='@Sourav12345'.search('/[@_!#$%^&*()<>?/\|}{~:]/') > 0?true:false;
console.log(x)
添加回答
举报
0/150
提交
取消