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

PHP如何校验字符串以KM开头且后续为5位纯数字

PHP实现KM+5位数字格式校验

方案1:正则表达式一次性校验(推荐)

直接通过正则匹配所有规则,覆盖「KM开头、后续5位纯数字、总长度7位」所有要求,代码更精简:

// 校验规则:严格匹配KM开头+5位数字的格式
if (!preg_match('/^KM\d{5}$/', $fm_id)) {
     die("<script>alert('ID is in the wrong format.');
     window.history.back();</script>");
}

正则规则说明:

  • ^ 标记字符串起始位置,避免KM前出现其他字符
  • KM 精准匹配开头的固定字符
  • \d 匹配0-9的阿拉伯数字
  • {5} 限定前面的数字必须恰好出现5次
  • $ 标记字符串结束位置,避免5位数字后还有多余字符

方案2:在原有逻辑基础上补充校验

如果你想保留现有判断开头的逻辑,单独补充后续内容的校验,可以按以下步骤实现:

// 原有开头校验逻辑
if (substr($fm_id, 0, 2) !== "KM") {
     die("<script>alert('ID is in the wrong format.');
     window.history.back();</script>");
}
// 补充校验:总长度必须是7位(2位KM+5位数字)
if (strlen($fm_id) !== 7) {
     die("<script>alert('ID is in the wrong format.');
     window.history.back();</script>");
}
// 补充校验:KM后的5位必须是纯数字
$num_part = substr($fm_id, 2);
if (!ctype_digit($num_part)) {
     die("<script>alert('ID is in the wrong format.');
     window.history.back();</script>");
}

注意:如果输入内容可能带前后空格,建议在校验前先执行$fm_id = trim($fm_id);处理,避免空格导致校验失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:21:04