在我们的前端开发中,为了不让用户输入相同的密码字符以提高其安全性,我们会写一个js方法来实现这个功能。接下来,我就来实现这个方法,有其他好的解决办法,敬请留言,博主必定向其学习。
function _str(value, n){
var tmp = 0;
for(var i = 0; i < value.length; i++){
if(value.charAt(i) == n){ //charAt()方法可返回指定位置的字符
tmp++;
console.log(tmp);
}
}
return tmp;
}
var value = "111111",
m = _str(value, value[0]); //value[0]表示value的第一个字符
console.log(m);
if(m == value.length){ //true
alert("不能使用相同的字符!");
}else{
alert("输入正确");
}
我来解释一下这个原理:
在for循环体中,用value中的每一个字符与n进行比较,如果相等,则tmp自动加1,最后返回tmp;此时tmp的值必定就是value的长度。然后在调用这个方法时,就拿用户输入的字符串的长度与返回的这个tmp(我是将返回的tmp赋值给了m)来比较,如果相等,则提示用户不能使用相同的字符。