如何检查一个字符串是否包含一系列正好10个连续数字?

时间:2013-05-16 01:09:49

标签: php regex preg-match

如何检查字符串是否至少包含 1 系列完全 10 连续 数字

例如:

1234567890 通过

asdf 1234567890 asdf 通过

asdf 1234567890 asdf 1234567890 通过

asdf1234567890asdf 通过

asdf 123456789 asdf 失败

asdf 12345678901 asdf 失败

asdf 12345 67890 asdf 失败

等...

3 个答案:

答案 0 :(得分:3)

/(^|\D)\d{10}($|\D)/

这匹配10个数字,前面是行的开头或非数字,后面是行的结尾或非数字。

REGEXR

答案 1 :(得分:2)

你可以使用负向前瞻和后视任何不是数字的东西。请注意,这与非数字匹配不同。此外,唯一的捕获组(如果您使用parens)恰好包含您正在寻找的10位数字。

Fiddle

(?<![0-9])([0-9]{10})(?![0-9])

- 或 - (同样更短)

(?<!\d)(\d{10})(?!\d)

答案 2 :(得分:-3)

试试这个:

preg_match(“/ \ d {10} / u”,$ input)

或者

preg_match(“\ d {10}”,$ input)

我要离开这里,我没有打开编辑检查这些。