业务需求
在某个APP的私信脚本中,需要发送手机号。
由于APP屏蔽了一定长度连续数字的输入,需要在手机号中随机插入空格,才能饶过平台的反垃圾机制。
因此,需要写一个向手机号中,随机插入空格的方法。
下面我们来看代码,示例中的手机号是随便写的。
业务代码
/*
* @Author: 飞云
* @Date: 2020-03-26 11:28:12
* @LastEditTime: 2020-03-26 11:28:28
* @Description: http://www.feiyunjs.com
*/
let str = '你好,加我微信聊聊吧|1 6 5 9 8 659 8 56'; //欲发送的话术
//循环测试100次
for (var i = 0; i < 100; i++) {
let randLeng = random(4, 8); //随机空格长度
log(getPhone(randLeng))
}
//提取字符串中的手机号,并随机插入空格
function getPhone(randLeng) {
let strArr = getNum(str.replace(/\s+/g, "")); //默认不加1,即不会把提取出来的0去掉
if (strArr.length > 0) {
let phone = strArr.map(function (value, index, array) {
if (checkPhone(value)) {
return value;
};
})
if (phone.length > 0) {
let spaceArr = new Array();
for (j = 0, len = randLeng; j < len; j++) {
spaceArr.push(' ')
}
let phonoeArr = new Array();
for (j = 0, len = phone[0].length; j < len; j++) {
phonoeArr.push(phone[0][j])
}
let newArr = randomInsert(spaceArr, phonoeArr);
return newArr.join("");
};
};
return '';
};
//将一个数组随机插入到另一个数组,被插的数组顺序不变
function randomInsert(arr1, arr2) {
arr1.forEach(value =>
arr2.splice(Math.random() * arr2.length, 0, value))
return arr2;
}
//取出字符串中,连续的数字
function getNum(Str, isFilter) {
//用来判断是否把连续的0去掉
isFilter = isFilter || false;
if (typeof Str === "string") {
// var arr = Str.match(/(0\d{2,})|([1-9]\d+)/g);
//"/[1-9]\d{1,}/g",表示匹配1到9,一位数以上的数字(不包括一位数).
//"/\d{2,}/g", 表示匹配至少二个数字至多无穷位数字
var arr = Str.match(isFilter ? /[1-9]\d{1,}/g : /\d{2,}/g);
// log(arr);
return arr.map(function (item) {
//转换为整数,
//但是提取出来的数字,如果是连续的多个0会被改为一个0,如000---->0,
//或者0开头的连续非零数字,比如015,会被改为15,这是一个坑
// return parseInt(item);
//字符串,连续的多个0也会存在,不会被去掉
return item;
});
} else {
return [];
}
}
//检测是否为手机号
function checkPhone(phone) {
if (!(/^1[3456789]\d{9}$/.test(phone))) {
return false;
} else {
return true;
};
}
测试结果
11:14:06.651/D: 1 6 5 98659856
11:14:06.652/D: 16598 6 5 98 56
11:14:06.654/D: 16 59 86 5 9856
11:14:06.655/D: 16 5 9 8 6598 56
11:14:06.657/D: 1 6 59 8 65985 6
11:14:06.658/D: 1 659 865 9856
11:14:06.659/D: 1 6 5986 59856
11:14:06.661/D: 16598 659 85 6
11:14:06.662/D: 1659 865 98 56
11:14:06.664/D: 1659 865985 6
11:14:06.665/D: 1 659 86 59856
11:14:06.666/D: 16598 6598 5 6
11:14:06.668/D: 1 659865985 6
11:14:06.669/D: 16 598 659 8 5 6
11:14:06.671/D: 1 6598 659 856
11:14:06.672/D: 16 5986 5 9856
11:14:06.675/D: 1 659865 9 856
11:14:06.674/D: 1659 86 59 85 6
11:14:06.676/D: 165986 5 9 8 5 6
11:14:06.678/D: 1 65986 59 856
11:14:06.680/D: 16 59 86598 56
11:14:06.681/D: 16 5 986598 56
11:14:06.682/D: 165986 5 98 56
11:14:06.684/D: 1 6598 6 5 9 85 6
11:14:06.685/D: 1659 865 985 6
11:14:06.686/D: 165986 5 9 856
11:14:06.688/D: 1 6 5 986 59856
11:14:06.689/D: 1 65986 59856
11:14:06.691/D: 16 59 865 9856
11:14:06.692/D: 1 65986 5985 6
11:14:06.694/D: 1 6 59 86 59 856
11:14:06.695/D: 165986 5 985 6
11:14:06.696/D: 1 6 598659856
11:14:06.698/D: 165 9 8 65 98 56
11:14:06.699/D: 1659 86 5985 6
11:14:06.701/D: 16 59 86598 5 6
11:14:06.702/D: 165986 5 98 56
11:14:06.704/D: 1 6 59 86598 56
11:14:06.705/D: 16 598 659856
11:14:06.706/D: 1 65 98 6598 56
11:14:06.708/D: 165 98659 85 6
11:14:06.709/D: 16598 6 598 56
11:14:06.710/D: 16598659 8 56
11:14:06.712/D: 165986 59 8 56
11:14:06.713/D: 1659 865 98 5 6
11:14:06.715/D: 1 65 98659 8 56
11:14:06.716/D: 1659 8 6 598 56
11:14:06.717/D: 16 598 659856
11:14:06.719/D: 16 59 86 598 56
11:14:06.720/D: 165 98 6 5985 6
11:14:06.722/D: 1659 865 98 56
11:14:06.723/D: 1659 8 6 5 985 6
11:14:06.724/D: 1 659 86598 5 6
11:14:06.726/D: 16 598 65 9856
11:14:06.727/D: 165 9865 98 5 6
11:14:06.728/D: 16 5 98 65 9856
11:14:06.730/D: 16 598659 856
11:14:06.731/D: 16 59865 9 85 6
11:14:06.733/D: 1 6598 6 59 85 6
11:14:06.734/D: 1659 8 659 856
11:14:06.735/D: 1 6 598 65 9856
11:14:06.736/D: 165 98 65985 6
11:14:06.738/D: 16 59 8 659 85 6
11:14:06.739/D: 1 65 98 65 9 856
11:14:06.741/D: 16 59 8 659856
11:14:06.742/D: 1659 8 6 5 985 6
11:14:06.744/D: 1 65 986 59 856
11:14:06.745/D: 16598 65985 6
11:14:06.747/D: 1 659 8 6 598 56
11:14:06.748/D: 1659 865 985 6
11:14:06.749/D: 16598 6 59 8 56
11:14:06.751/D: 16 59 86 598 56
11:14:06.752/D: 165 98 65 9 856
11:14:06.754/D: 1 6 59 86 59 8 56
11:14:06.755/D: 1 6 598 65985 6
11:14:06.756/D: 1 6598 659 856
11:14:06.758/D: 1 65 98 65985 6
11:14:06.759/D: 1 659 8 6 59856
11:14:06.761/D: 16 598 6 5985 6
11:14:06.762/D: 165 9 865 985 6
11:14:06.764/D: 16 5 98 65 98 56
11:14:06.766/D: 1 6598 6 59856
11:14:06.767/D: 165 9 865985 6
11:14:06.768/D: 165 986598 5 6
11:14:06.769/D: 1 6598 6 5985 6
11:14:06.771/D: 1 659 86 59 8 56
11:14:06.772/D: 1659865 985 6
11:14:06.773/D: 1 6 5 9865 9 8 56
11:14:06.775/D: 1 659865 9 856
11:14:06.776/D: 1 6 59 8 659856
11:14:06.778/D: 165 9 8 6 59856
11:14:06.779/D: 1 6598659 856
11:14:06.780/D: 16598 65 9856
11:14:06.782/D: 1 6 598 6 59856
11:14:06.783/D: 16 5986 5 9 85 6
11:14:06.785/D: 16598 6 5 9856
11:14:06.786/D: 16 5 98 659856
11:14:06.789/D: 16 5 98659856
11:14:06.793/D: 16 5 986598 56
11:14:06.796/D: 165 9 8659 856
补充说明
例子写出来以后,经过测试,这里面的所有结果并不能完全饶过平台的风控。
但是这里面的思路和方法,还是有一定参考价值的。
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » auto.js向手机号中,随机插入随机数量的空格
飞云脚本圈: 586333520

Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » auto.js向手机号中,随机插入随机数量的空格