js正则验证之不能使用相同字符

在我们的前端开发中,为了不让用户输入相同的密码字符以提高其安全性,我们会写一个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)来比较,如果相等,则提示用户不能使用相同的字符。

posted @ 2016-04-07 15:11  豫见世家公子  阅读(530)  评论(0编辑  收藏  举报