正则表达式只允许9或10个字符?

Nep*_*der 6 javascript regex

9个字符在开头需要2个字母,即ab1234567和10个字符需要所有数字i,e 1234567890.如何使用正则表达式执行此操作?

这是我尝试过的.

/^[a-zA-Z]{2}[\d]{7}|[\d]{10}$/
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.非常感谢你的帮助.

nnn*_*nnn 10

|您的正则表达式允许它匹配以下两种可能性:

^[a-zA-Z]{2}[\d]{7}

[\d]{10}$
Run Code Online (Sandbox Code Playgroud)

也就是说,字符串的开头然后是2个字母和7个数字后跟任何东西,或者后面跟着10个数字和字符串结尾的任何内容.试试这个:

/^([a-zA-Z]{2}\d{7}|\d{10})$/
Run Code Online (Sandbox Code Playgroud)

(另请注意,我已经删除了[]各自的内容\d- 没有必要在其中只包含一个字符的字符类.)


Nie*_*sol 8

问题是^只应用第一个选项,而$唯一适用于第二个选项.

试试这个:

/^(?:[a-z]{2}\d{7}|\d{10})$/i
Run Code Online (Sandbox Code Playgroud)