我有一个正则表达式可以验证从 00000000 到 9999999999 的值。现在我需要添加从 +/-00000000 到 +/-9999999999 的正/负验证
我用:
/^[0-9]{8,10}$/
但无法添加我尝试的 +/- 验证:
/(-|+)(^[0-9]{8,10})$/
/[-+](^[0-9]{8,10})$/
/^[-+][0-9]{8,10}$/
如何验证字符串 +/-00000000 -> +/-9999999999?
[编辑] 使用:
if (
!preg_match( "/^[-+]([0-9]{4}).(((0[13578]|(10|12)).(0[1-9]|[1-2][0-9]|3[0-1]))|(02.(0[1-9]|[1-2][0-9]))|((0[469]|11).(0[1-9]|[1-2][0-9]|30)))$/", $_POST[$field] ) ||
!preg_match( "/^[-+]([0-9]{5,7}).((0[13578]|(10|12))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$/", $_POST[$field] ) ||
!preg_match( "/^[-+][0-9]{8,10}$/", $_POST[$field] )
) {
$this->errors[] = $errorMessage;
}
验证模式应该是:
+/-0000.01.01 +/-9999.12.31
+/-10000.01 +/-9999999.12
+/-10000000 +/-9999999999
这是出于日期目的..我收到此错误:编译失败:在偏移量 3 处没有可重复的内容
可能是因为脚本也尝试验证第一个和第二个模式... 99%
我还看到该模式验证了一个错误的 +00000000(8digit),因为我需要从 +10000000 开始