blog icon indicating copy to clipboard operation
blog copied to clipboard

正则表达式校验手机号码居然出错?

Open ly2011 opened this issue 6 years ago • 0 comments

问题:今日遇到一个神奇的问题,用户那边反馈在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)

ly2011 avatar Sep 20 '19 10:09 ly2011