我想验证电话号码,并且正在使用以下正则表达式,尽管它不能正常工作。
function validPhoneNumber(phoneNumber) {
const pattern = /^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/
return pattern.test(phoneNumber);
}
console.log(validPhoneNumber("(123) 456-7890")); //should return true
console.log(validPhoneNumber("(1111)555 2345")); // should return false
console.log(validPhoneNumber("(098) 123 4567")); // should return false
答案 0 :(得分:2)
只需删除?
(表示出现零次或一次)和\s
(仅允许-
) >
function validPhoneNumber(phoneNumber) {
const pattern = /^(\()?\d{3}(\))?(-|\s)\d{3}(-)\d{4}$/
// ^^ ^^^
return pattern.test(phoneNumber);
}
console.log(validPhoneNumber("(123) 456-7890"))
console.log(validPhoneNumber("(123)-456-7890"))
console.log(validPhoneNumber("(123)456-7890"))
console.log(validPhoneNumber("(1111)555 2345"))
console.log(validPhoneNumber("(098) 123 4567"))
答案 1 :(得分:0)
检查此
function validPhoneNumber(phoneNumber){
const pattern = /^(\()?\d{3}(\))\s{0,1}(-|\s)?\d{3}-\d{4}$/
return pattern.test(phoneNumber);
}
validPhoneNumber("(123) 456-7890") => should return true
validPhoneNumber("(1111)555 2345") => should return false
validPhoneNumber("(098) 123 4567") => should return false