如何修改手机号正则验证函数,使长度超10位时返回false?
修改手机号验证器以匹配恰好10位数字
你当前的正则/\d{10}/只会检查字符串中是否存在连续10位数字,哪怕字符串更长(比如11位数字)或者前后有其他字符,只要包含10位连续数字就会返回true,这不符合“恰好10位数字”的需求。
要解决这个问题,需要给正则添加字符串边界锚点:
^匹配字符串的起始位置$匹配字符串的结束位置
通过这两个锚点,就能强制要求整个字符串必须完全匹配10位数字,没有多余内容。
修改后的代码如下:
function telephoneChecker(str){ return /^\d{10}$/.test(str) }
测试示例:
telephoneChecker('5555555555')→ 返回true(符合要求的10位数字)telephoneChecker('55555555555')→ 返回false(11位数字,长度超出)telephoneChecker('555555555a')→ 返回false(包含非数字字符)telephoneChecker(' 5555555555')→ 返回false(开头有空格)
这样就能精准验证字符串是否恰好是10位数字了。
内容的提问来源于stack exchange,提问作者aryan khandelwal
相关产品推荐
相关产品推荐

