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