需求:用户名同密码不能存在局部相同。例如
username:wangxiaoming
password:xiaoming123
监测到存在相同的字符串‘xiaoming’,则不允许。
解决方法:
http://jsbin.com/qilayareco/edit?js,console
String.prototype.compare=function(target,digit,rule){
/*
* target string 被比对的字符串
* digit number 相同部位的位数
* rule a|w|d
a=.
w=\w
d=\d
*
* */
var match = {
"a": "."
, "w": "\w"
, "d": "\d"
}[!!rule ? rule : "a"];
var reg = new RegExp("(?=(" + (!!match ? match : ".") + "{" + (isNaN(digit) ? 4 : +digit) + "}))","g");
var arr = [], ret = [];
this.replace(reg, function (a, b) { arr.push(b) });
("" + target).replace(reg, function (a, b) { ((arr.indexOf(b) !== -1) && (ret.indexOf(b) === -1)) && ret.push(b) });
return ret;
}
返回一个数组,其中的值代表每个重叠部分。无值表示无重叠部分,并已做去重处理。