一、什麼是正則表達式?
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/zh-tw/n/277797.html