0

我正在构建一个应用程序,它应该只接受以下格式的字符串:

  1. 12345(只有一个数字)
  2. 12345;23456(两个或多个数字,用 ; 分隔)
  3. 12345-12367(由 - 分隔的数字范围)

java 脚本正则表达式应该只允许上述格式并且不应该接受任何其他格式或符号。任何人都可以为此想出一个正则表达式吗?

4

4 回答 4

1

这是您需要的正则表达式:/^\d+((;\d+)*|-\d+)?$/

(;\d+)*将检查以“;”分隔的多个数字

-\d+将检查范围

于 2012-07-31T14:04:34.857 回答
1

尝试

^[0-9]+([;-][0-9]+)?$

那应该工作

[0-9]+匹配 1 个或多个数字 [;-] 匹配 a;或 a-

(...)?是可选匹配

^$锚定字符串的开头和结尾

于 2012-07-31T14:04:49.603 回答
1

^[0-9-;]{0,50}$

0-9只接受数字

-; 只允许 - 和 ;

{0,50} 只允许 50 个字符

于 2016-01-12T06:52:39.113 回答
0

假设您要查找的数字部分每次都是 5 位数字,则以下内容应符合您的要求。

[0-9]{5}((;|-)[0-9]{5}){0,1}

如果您需要不同的长度,您可以使用另一个固定长度或范围如 {3,5} 来更新 3 到 5 位数字的字符串的 {5}。如果您希望能够使用列出的分隔符​​捕获两个以上的数字,您可以使用

[0-9]{5}((;|-)[0-9]{5})*
于 2012-07-31T14:07:00.130 回答