前几天在做一个项目里遇到了一个这样的需求,就是用户填写收货信息这一栏时,连续填写数字时不能超过11位。在网上找到一种方法,是这样的
var str = "ren12民BI30kuai"
console.log(str.replace(/[^0-9]/ig,""));
//1230
这样不太符合要求,如果可以把每段隔开的数字加进数组里面,在循环数组里每一项就更好些,所以就找到一个这样的方法
var str = '123sdfsdf456sdffs789'
var numArr = str.match(/\d+/g)
//直接输出
console.log("直接输出:"+numArr) // => ["123", "456", "789"]
//如果str没有数字的时候,会为null,所以要再加多层判断,判断它是否为false,如果不是为false,
//就返回个数组,从而循环它就行
if (numArr && !numArr.every(item => item.length < 11)) {
// 详细地址里不能出现连着11位数字
this.$toast.alert("详细地址不能出现连着11位数字*");
return;
}
参考的链接:https://www.cnblogs.com/tanjiyuan/p/11357706.html
https://www.cnblogs.com/tanjiyuan/p/11357706.html