gpt4 book ai didi

php - php 中的 GST 号码验证

转载 作者:行者123 更新时间:2023-12-04 20:36:29 25 4
gpt4 key购买 nike

我正在尝试在 php 中实现 GST 验证。

if(!preg_match("/^([0-5]){2}([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}([a-zA-Z0-9]){1}([a-zA-Z]){1}([0-9]){1}?$/", $testcase)) {
$flag = "Invalid GST number ";
return $flag;
}

第 2 位是状态代码,介于 01 到 35 之间,但我的代码将接受 01 到 55,这是错误的。任何方式来验证它最多只有 35。

最佳答案

您需要将数字范围分成实际数字。

以下将起作用

if(!preg_match("/^(0[1-9]|[1-2][0-9]|3[0-5])([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}([a-zA-Z0-9]){1}([a-zA-Z]){1}([0-9]){1}?$/", $testcase)) {
$flag = "Invalid GST number ";
return $flag;
}

数字正则表达式的工作原理如下,我们将前 2 位数字验证拆分为 3 个场景。我们使用或运算符 | 拆分为场景。

(0[1-9]|[1-2][0-9]|3[0-5])
  • 两位数以零开头
    • 第二位数字只能在1到9之间
    • 允许:01-09
  • 2 位数字以 1 或 2 开头
    • 允许第二位为0-9
    • 允许 10-29
  • 2 位数字以 3 开头
    • 允许第二位为0-5
    • 允许 30-35

希望对你有帮助

关于php - php 中的 GST 号码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44801886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com