需要一个正则表达式,以确保号码从01 02或08开始,长度为10或11位

时间:2011-12-09 18:52:05

标签: javascript jquery regex validation

我很难记入正则表达式来检查一个号码是以0102还是08开头,并且长度是十位或十一位数。

例如,我想要这样格式的数字传递:

01614125745
02074125475
0845895412
08004569321

并将其他表单编号为失败,编号如下:

0798224141
441544122444
0925456754

等等。基本上,任何不以01 0208开头的数字。

2 个答案:

答案 0 :(得分:14)

以下模式遵循以下标准:

/^(?=\d{10,11}$)(01|02|08)\d+/   # This pattern can easily be extended

/^(?=\d{10,11}$)0[128]\d{8,9}/   # Same effect

说明:

^                Begin of string
(?=\d{10,11}$)   Followed by 10 or 11 digits, followed by the end of the string
(01|02|08)       01, 02 or 08
\d+              The remaining digits

答案 1 :(得分:8)

Rob W的回答是正确的。但我会使用这样一个更简单的表达式:(不需要前瞻)

/^0[128][0-9]{8,9}$/