PHP检查字符串是否包含数字

时间:2016-08-20 05:35:02

标签: php regex codeigniter expression

我需要过滤消息文本,基本上消息文本不应包含电话号码。这意味着我需要检查字符串中是否存在连续模式或一系列数字。我在codeigniter中这样做。现在我正在使用以下类型的代码来执行此操作,

if (preg_match_all( "/[0-9]/", $msg ) >= 7) {
   $status = 'pending';
   $read = 'no';
}

它的作用是计算消息文本中的所有数字字符,如果count大于7,则不会通过低谷。但我需要检查是否有继续号码/电话号码。请帮忙。

1 个答案:

答案 0 :(得分:2)

假设电话号码至少为7位连续数字,您可以使用负面后卫,如

^(?!.*\d{7})

<强> Regex Demo

PHP代码

$re = "/^(?!.*\\d{7}).*/m"; 
$str = "1234567\n123456\n12345673536"; 

preg_match_all($re, $str, $matches);
print_r($matches);

<强> Ideone Demo