12

我正在搜索仅 7 位数字和另一个仅 9 位数字的正则表达式,我发现的只是 [0-7] 和 [0-9],而不是确切的 7 位和 9 位数字 - 不再更短 -

我怎样才能找到那些?

4

3 回答 3

42

匹配七位数:

^\d{7}$

匹配九位数字:

^\d{9}$

如果要匹配七位或九位数字,请使用以下命令:

^(\d{7}|\d{9})$

或者只是这个:

^\d{7}(\d{2})?$

量词:花括号中的数字就是我们所说的量词,它决定了匹配前面模式(括号中的字符或组)的重复次数。

字符串(或行)的开头结尾分别用插入符号^和美元符号表示$

竖线字符 |用于提供两种替代模式。重要的是要知道,它的优先级最低(感谢raina 提醒我),即它将匹配左侧或右侧的所有内容,除非用括号限制。

于 2012-11-03T16:03:58.257 回答
2

对于 7 位数字:/^\d{7}$/

对于 9 位数字:/^\d{9}$/

Stackoverflow 宕机了,我不得不“学习”正则表达式。

在这里找到它: javascript中的正则表达式

学习更好:)

于 2015-01-18T10:35:01.137 回答
0

我不认为你想从你的帖子中得到什么。您在寻找 7 位或 9 位的字符串吗?类似于: (\d{9}|\d{14})

于 2012-11-03T16:06:17.883 回答