You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Contact Form 7电话字段如何禁止输入111111这类连续重复数字

Contact Form 7 电话字段禁止连续重复数字修改方案

完整修改后代码

// define the wpcf7_is_tel callback
function custom_filter_wpcf7_is_tel( $result, $tel ) {
  // 正则新增负向预查规则,禁止出现7个及以上连续相同的数字
  $result = preg_match( '/^(?!.*(\d)\1{6,})^\(?\+?([0-9]{0})?\)?[-\. ]?(\d{10})$/', $tel );
  return $result; 
}
         
add_filter( 'wpcf7_is_tel', 'custom_filter_wpcf7_is_tel', 10, 2 );

核心修改说明

  • 新增的(?!.*(\d)\1{6,})是正则负向预查规则:
    • (\d)匹配任意单个数字并捕获为分组1
    • \1{6,}表示匹配和分组1完全相同的数字连续出现6次及以上,加上分组本身的1次,总长度就是7位及以上连续相同数字
    • 前缀?!表示只要匹配到上述规则的内容,整个正则校验就不通过
  • 规则完全匹配需求:只要输入的手机号里出现7个连续相同数字(比如1111111、2222222)就会直接判定校验失败
  • 原有10位数字的校验规则完全保留,不影响之前的校验逻辑
    如果需要调整禁止的连续重复数字长度,比如改成禁止6位连续重复,把{6,}改成{5,}即可。

内容的提问来源于stack exchange,提问作者Neeraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 06:21:01