检查用户名中包含密码的特定文本模式以进行javascript表单验证

时间:2017-06-09 09:59:29

标签: javascript regex

username =" Npasandarshana@gmail.com"

密码=" S @ pasan123"

根据上面的例子,字符串模式" pasan"包含在用户名中。

我想检查所有密码或密码的一部分是否包含在用户名中,以便在注册前验证表单

我使用了javascript搜索功能,如下所示

password.search(username) == '-1' 

但是它在用户名中搜索整个密码字符串并且不准确。

我可以使用正则表达式模式来检查javascript中的上述场景吗?

2 个答案:

答案 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?