php中的GST号验证

时间:2017-06-28 12:03:31

标签: php regex

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

Object.values($scope.user).filter((item) => item != null).length

前2位数字是状态代码,介于01到35之间,但是我的代码接受01到55,这是错误的。任何方式只能验证它为35。

3 个答案:

答案 0 :(得分:4)

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

以下内容可行

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])
  • 2位数字以零开头
    • 第二个数字只能介于1到9之间
    • 允许:01-09
  • 2位数字以1或2开头
    • 允许第二次降低为0-9
    • 允许10-29
  • 2位数字以3开头
    • 允许第二个数字为0-5
    • 允许30-35

希望这有帮助

答案 1 :(得分:1)

我认为你应该开始使用正则表达式:

/^([0-2][0-9])|(3[0-5])

编辑:一个缺陷:这也允许00

答案 2 :(得分:0)

sh

此代码可以正常工作