目的
- 某社区注册,有隐藏两位(字母or数字)的验证码。
- 采用自动填充的方式需要提前生成暴力破解字典序列。
- 这里给Array对象增加了format方法,使得给定的验证码数组,在设定好了隐藏位置后,可以给定范围遍历。
使用
实现
Array.prototype.format = function() {
let lists = []
this.map((list) => { //["-hello","world-"]
let begin = arguments[1];
//分隔符,如:"-"
let number = arguments[2].charCodeAt() - arguments[1].charCodeAt() + 1;
//个数
for (var i = begin.charCodeAt(); i < begin.charCodeAt() + number; i++) {
//从97到122循环
let list_replaced = list.replace(
//new RegExp(arguments[0], "g"),//使用正则,用来查找替换;
arguments[0],
String.fromCharCode(i)//assic转字符;
);
console.log(list_replaced);
lists.push(list_replaced);
}
// return list;
})
return lists;
}