方案:前端验证 - 移动号必须是数字,必须以'02'开始,至少8个?数字字符,限制为13?数字字符
示例:
msisdn错误021123请输入有效的沃达丰手机号码,091234567请输入有效的Vodafone手机号码,02112345678910请输入有效的沃达丰手机号码,abcdefghijkl请输入有效的沃达丰手机号码,021 $ 123456请输入有效的沃达丰手机号码
另外,当我在输入字段中输入数字时,该数字的格式应为021 055555。前三个数字之后的空间。
任何人都可以帮我组成这样的例子吗?
我相信这个正则表达式会执行您需要的匹配:
const numbers = [
"023 45678901",
"023 456789012",
"023 4567890123",
"033 45678901",
"013 45678901",
"013 45",
"013 45678901234567",
]
const numberIsValid = number => !!number.match(/02dsd{5,10}/)
console.dir(numbers.map(numberIsValid))
这是正则表达式所做的:
02
匹配字符02(case敏感)
d
匹配数字(等于[0-9])
s
匹配任何空格字符(等于[ r n t f v])
d{5,10}
匹配数字(等于[0-9])
{5,10}
量词 - 匹配5到10倍,尽可能多倍,根据需要回馈(贪婪)
这种事情会有所帮助
input.match(/^02[0-9]{6,11}$/)
说明:输入显然是输入。^
确保这是要匹配的字符串开始的地方。[0-9]
表示后续字符必须在0到9之间,而{6-11}
表示可以在6到11次之间重复这些字符。最后的 $
表示这是字符串必须结束的地方。