一、什么是正则表达式?
1、正则表达式是一种文本模式,描述在搜索文本时所需匹配的一系列字符串。
2、正则表达式由字符和操作符构成。
3、使用正则表达式可以完成各种文本操作,如文本匹配、查找、替换等。
二、如何用正则表达式匹配手机号?
1、手机号由11位数字组成。
2、手机号第一位为1,第二位为3、5、6、7、8、9之一。
3、代码示例:
let regex = /^1[356789]\d{9}$/;
let phoneNumber = "13712345678";
if(regex.test(phoneNumber)){
console.log("匹配成功");
}else{
console.log("匹配失败");
}
三、手机号中间添加空格或短横线的处理方法
1、在正则表达式中使用分组,使用()包裹需要添加空格或短横线的位置,再在正则表达式中使用\1、\2等引用分组中的内容。
2、代码示例:
let regex = /^1([356789]\d{9})$/;
let phoneNumber = "137 1234 5678";
phoneNumber = phoneNumber.replace(/\s|\-/g,"");//去除空格和短横线
if(regex.test(phoneNumber)){
phoneNumber = phoneNumber.replace(regex, "1$1").replace(/(\d{3})(\d{4})(\d{4})/, "$1 $2 $3");//添加空格
console.log(phoneNumber + " 匹配成功");
}else{
console.log("匹配失败");
}
四、匹配多个手机号码
1、如果需要匹配多个手机号码,可以将手机号码用分隔符隔开。
2、代码示例:
let regex = /^1[356789]\d{9}$/;
let phoneNumberStr = "13712345678,18923456789,13545678901";
let phoneNumberArray = phoneNumberStr.split(",");
let isValid = true;
for(let i=0;i<phoneNumberArray.length;i++){
if(!regex.test(phoneNumberArray[i])){
isValid = false;
}
}
if(isValid){
console.log("匹配成功");
}else{
console.log("匹配失败");
}
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/277797.html
微信扫一扫
支付宝扫一扫