我如何查看第13个号码

时间:2016-07-04 12:09:03

标签: javascript regex

/^(((\d{2}((0[13578]|1[02])(0[1-9]|[12]\d|3[01])|(0[13456789]|1[012])(0[1-9]|[12]\d|30)|02(0[1-9]|1\d|2[0-8])))|([02468][048]|[13579][26])0229))(( |-)(\d{4})( |-)(\d{3})|(\d{7}))$/

我有上面的正则表达式。它正确检查所有事情,除了我的13位数字的第11位我正在验证我希望它只接受0或1.我不确定在这个表达式中我应该把我的[0-1]放在哪里。

例如:鉴于8001015009 0 87。这个数字是有效的,但如果我将第11位的0改为任何不是0或1的数字,那么这个数字将无效

2 个答案:

答案 0 :(得分:0)

只需使用类似此(?=.{10}[01])(?=.{12}[01])的预测即可预见并验证第11和第13个字符是0还是1

^(?=.{10}[01])(?=.{12}[01])(((\d{2}((0[13578]|1[02])(0[1-9]|[12]\d|3[01])|(0[13456789]|1[012])(0[1-9]|[12]\d|30)|02(0[1-9]|1\d|2[0-8])))|([02468][048]|[13579][26])0229))(( |-)(\d{4})( |-)(\d{3})|(\d{7}))$

Regular expression visualization

答案 1 :(得分:-1)

我的错误是13.虽然它应该是一个位置,但它是一个数字。校正...

^(\d{10}[10])\d+
相关问题