我需要过滤消息文本,基本上消息文本不应包含电话号码。这意味着我需要检查字符串中是否存在连续模式或一系列数字。我在codeigniter中这样做。现在我正在使用以下类型的代码来执行此操作,
if (preg_match_all( "/[0-9]/", $msg ) >= 7) {
$status = 'pending';
$read = 'no';
}
它的作用是计算消息文本中的所有数字字符,如果count大于7,则不会通过低谷。但我需要检查是否有继续号码/电话号码。请帮忙。
答案 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 强>