一个容易犯错的js手机号码验证正则表达式(推荐)

写一个简单的正则表达式,用来校验11位手机号码,开头允许是13、15、18,我一开始这样写:

var reg = /^(13[0-9]{9})|(15[0-9]{9})|(18[0-9]{9})$/;

运行发现,即使是 13988888877157777,也能通过验证,这说明这个写法错了,我的本意是希望这样:

^(13[0-9]{9})$ 或者 ^(15[0-9]{9})$ 或者 ^(18[0-9]{9})$

所以正确写法是:var reg = /^1[358][0-9]{9}$/;这样才能保证11位数字

相关推荐