username =" Npasandarshana@gmail.com"
密码=" S @ pasan123"
根据上面的例子,字符串模式" pasan"包含在用户名中。
我想检查所有密码或密码的一部分是否包含在用户名中,以便在注册前验证表单
我使用了javascript搜索功能,如下所示
password.search(username) == '-1'
但是它在用户名中搜索整个密码字符串并且不准确。
我可以使用正则表达式模式来检查javascript中的上述场景吗?
答案 0 :(得分:2)
将字符串与a-z
匹配,然后。Array#filter
长度超过4,username
包含
function check(use,pwd){
return pwd.match(/[a-z]+/ig).filter(a=> a.length > 4 && use.includes(a)).length > 0? true:false;
}
console.log(check("Npasandarshana@gmail.com","S@pasan123"))//true
console.log(check("Npasandarshana@gmail.com","S@pasysan123"))//false
答案 1 :(得分:0)
<强>正则表达式强>
var string = "foo",
expr = /oo/;
if(expr.test(string)){
console.log('Yes');
}else{
console.log('No')
}
<强>匹配强>
var string = "foo",
expr = "/oo/";
if(string.match(expr)){
console.log('Yes');
}else{
console.log('No')
}
(ES6)包括
var string = "foo",
substring = "oo";
if(string.includes(substring)){
console.log('Yes');
}else{
console.log('No')
}
另请参阅:How to check whether a string contains a substring in JavaScript?