You need to enable JavaScript to run this app. 如何调整正则表达式将域名后缀段限制为最多24个可接受英文字符
优惠活动
大模型
产品
解决方案
定价
更多

如何调整正则表达式将域名后缀段限制为最多24个可接受英文字符

域名校验正则后缀长度限制调整方案

原规则的现存疏漏

  • 原正则中用于匹配域名分段分隔点的位置未对字面.做转义,实际会匹配任意单个字符,无法精准识别域名的分段边界
  • 原规则的后缀长度限制未和前面的主体匹配段做强绑定,会出现超长后缀被拆分到域名主体匹配组、绕过长度校验的情况

调整后可直接使用的规则

调整后可实现:域名最后一个点分隔的后缀段,仅允许2-24个英文字符,超出长度的请求会被直接拦截,对应的正则表达式为:
/(?!-)(?!\.)(?!.*?\.\.)(?![a-zA-Z]+\-\.[a-zA-Z]+)(?![a-zA-Z]+\+[a-zA-Z]+\.[a-zA-Z]+)(?![a-zA-Z\#]+\/[a-zA-Z\-]+)(?![0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]\.[a-zA-Z0-9]+)([a-zA-Z0-9@%._~#=]+-*[a-zA-Z0-9@%._~#=]+)+\.(?!-)[a-zA-Z]{2,24}\b([-a-zA-Z0-9@%_+.~?&;//=:$]*)$/

调整细节

  • 将原规则中未转义的.修改为\.,精准匹配域名分段的字面分隔点,避免无关字符的误匹配
  • 完整保留原规则的所有否定校验逻辑,仅强化后缀段的匹配边界:最后一个分隔点后的匹配范围固定为2-24个英文字符,从规则层面避免主体匹配组吞并超长后缀的绕过场景
  • 可直接拦截类似www.google.comddddddddddddddddddddddddddd这类后缀段长度超过24字符的非法域名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 19:45:05