一、什么是正则表达式?
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