1

我试图弄清楚如何验证格式如下的数字:XXXX 或 XXXX-XXXX

我试过

/^\d{4}(-{1}\d{4})?/i

但它只验证 XXXX-XXXX 格式而不验证 XXXX。

提前致谢

4

3 回答 3

1

进行验证时不需要捕获组:

^\d{4}(?:-\d{4})?$
^\/\ /\ /^\/\ /^^^
| | |  | | | | ||`-- end of string
| | |  | | | | |`-- previous is optional (non-capture group of `-` and 4 numbers 0-9)
| | |  | | | | `-- end of non-capture group
| | |  | | | `-- exactly 4 of previous (any number 0-9)
| | |  | | `-- any number 0-9
| | |  | `-- just `-`
| | |  `-- non-capture group
| | `-- exactly 4 of previous (any number 0-9)
| `-- any number 0-9
`-- start of string
于 2013-06-12T10:30:18.020 回答
0

试试这个:

/\d{4}(-\d{4})?/

演示:http: //regexr.com?356sf

于 2013-06-12T10:18:11.480 回答
0

我试过这个:

^\d{4}(-\d{4})?

这里:http ://regexpal.com/

您可以在第一个区域编写正则表达式并在第二个区域测试数字。

适用于 1234 和 1234-1234(任何号码)。

于 2013-06-12T10:22:00.323 回答