我正在尝试在 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;
}
Run Code Online (Sandbox Code Playgroud)
第 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;
}
Run Code Online (Sandbox Code Playgroud)
数字正则表达式的工作原理如下,我们将前 2 位数字验证分为 3 个场景。我们使用 or 运算符| 分成场景。
(0[1-9]|[1-2][0-9]|3[0-5])
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
9144 次 |
| 最近记录: |