例如1:个人信息,张三,13888888888,北京。
例如2:李四,南京,13666666666,男。
这种前后有中文和符号要怎么用正则验证手机号
let str = "个人信息,张三,13888888888,北京。"
let reg = /.*1[34578]\d{9}.*/.test(str)
console.log(reg);
String str = "个人信息,张三,13888888888,北京。";
String[] strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
System.out.println(strs[i].toString());
结果就是:1.个人信息 2.张三 3. 13888888888 4北京
strs[3].toString()》》》》》13888888888。。。。。懂了吗?
用“,”或“1”作为起始下标,向后截取11位
看得不是太明白,大概猜一下。
如果格式严格是按逗号分隔,且第3个元素为手机号,先根据逗号分隔字符串,获取到完整的手机号,再用手机号正则验证。
如果格式不严格,例如,不确定手机号为第3个元素,或者分隔符不一定是逗号。可以判断字符串是否包含手机号,无非就是去掉前缀^和后缀&,当然这样校验的结果也不严格。