Regex 用于数字和破折号的正则表达式

Regex 用于数字和破折号的正则表达式,regex,Regex,我正在寻找一个文本框的正则表达式,该文本框接受10位或8位,后跟破折号,后跟2位。示例: 1212345678 或 这应该行得通 ((?:^[0-9]{10})|(?:^[0-9]{8}(?:\-\d{2})*))$ 输入: 1212345678 12345678-91 12345678901112-10 1234567890-12 输出: 1212345678 12345678-91 请参阅:^\d{8}(\d{2})?(\d{2})$ ^和$:匹配从乞讨到结束 \d{8}:8位数字

我正在寻找一个文本框的正则表达式,该文本框接受10位或8位,后跟破折号,后跟2位。示例:

1212345678

这应该行得通

((?:^[0-9]{10})|(?:^[0-9]{8}(?:\-\d{2})*))$
输入:

1212345678
12345678-91
12345678901112-10
1234567890-12
输出:

1212345678
12345678-91
请参阅:

^\d{8}(\d{2})?(\d{2})$ ^和$:匹配从乞讨到结束

\d{8}:8位数字 (\d{2})?:可选两个其他数字

(-d{2})?:可选破折号,带两个其他数字

这将匹配

1212345678

121234567800

不是1212345678001

1212345678-

1212345678-00


非1212345678-001

如果您只想检查输入是否有效,而不匹配任何内容,此项就足够了:

^\d{8}-?\d\d$

从8位数字开始,后跟(或不后跟)可选破折号,再加上2位数字直到结尾。

你试过自己做一个吗?我通常参考。向我们展示你的尝试。你能给出一个不应该匹配的类似值的列表吗。你用什么语言实现这个正则表达式?实现因技术而异-在一种语言中工作的正则表达式代码将不必与另一种语言一起工作。对于asp.net,它是。不应包含的值是字母,长度必须为10(或11,如果包含破折号)。
^\d{8}-?\d\d$