我正在寻找一个文本框的正则表达式,它接受10位数字或8位数字,然后是破折号,后跟2位数字。例子:
1212345678
或
12345678-91
答案 0 :(得分:1)
如果你只想检查输入是否有效而没有匹配任何内容,那么这个就足够了:
^\d{8}-?\d\d$
从8位开头,跟随(或不跟)可选短划线,另外2位数字一直到最后。
答案 1 :(得分:0)
这应该有效。
((?:^[0-9]{10})|(?:^[0-9]{8}(?:\-\d{2})*))$
输入:
1212345678
12345678-91
12345678901112-10
1234567890-12
输出:
1212345678
12345678-91
答案 2 :(得分:0)
^ \ d {8}(\ d {2})?( - \ d {2})$ ^和$:从乞讨到结束的匹配
\ d {8}:8位数 (\ d {2})? :可选的两个其他数字
( - \ d {2})? :可选短划线,带有两个其他数字
这将匹配
1212345678
121234567800
不是1212345678001
1212345678 -
1212345678-00
不是1212345678-001