blog
blog copied to clipboard
正则表达式校验手机号码居然出错?
问题:今日遇到一个神奇的问题,用户那边反馈在input框粘贴手机号码,校验失败,原因是粘贴时带有特殊编码 解决方案:过滤掉不是整型的字符
function getTelPhone (phone) {
if (typeof phone !== 'string') return ''
var phoneReg = /[0-9]/
var phoneNum = ''
for (i = 0; i < phone.length; i++) {
if (phoneReg.test(phone.charAt(i))) {
phoneNum += phone.charAt(i)
}
}
return phoneNum
}
var phone = '13712312312' // 此处的phone是有特殊编码的,长度为13
console.log(getTelPhone(phone), getTelPhone(phone).length)