验证字符串都是具有限定长度的数字

问题描述 投票:0回答:2

我只想验证字符串是否包含长度在 7 到 9 之间的“0-9”字符。

我有的是 [0-9]{7,9} 但这也匹配十个字符的字符串,这是我不想要的。

php regex validation digits
2个回答
4
投票

您会想要使用

^[0-9]{7,9}$

^ 匹配字符串的开头,而 $ 匹配结尾。


3
投票

如果您想在较大的字符串中查找 7-9 位数字,您可以使用 否定后向查找和前向查找 来验证匹配项前面或后面没有数字

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

这可以分解为

  • (?<![0-9])
    确保下一场比赛前面没有数字
  • [0-9]{7,9}
    根据需要匹配 7-9 位数字
  • (?![0-9])
    确保下一个字符不是数字

如果您只是想确保整个字符串是 7-9 位数字,请使用 ^ 和 $ 将匹配锚定到开头和结尾

^[0-9]{7,9}$
© www.soinside.com 2019 - 2024. All rights reserved.