我遇到了正则表达式问题,并且不确定为什么在输入正确的字符串后这个验证会给我一个错误。
// City validation
if (empty($custom_fields["city_id"])) {
$response["error"] = TRUE;
$response["response"] = "City field is missing. Please try again.";
unset($_POST["s2member_pro_paypal_registration"]["nonce"]);
} elseif (!preg_match('^[a-zA-Z]+(?:[\s-]+[a-zA-Z]+)*$', $custom_fields["city_id"])) {
$response["error"] = TRUE;
$response["response"] = "Invalid City name";
unset($_POST["s2member_pro_paypal_registration"]["nonce"]);
}
我进入纽约并检查http://gskinner.com/RegExr/中的正则表达式。它工作正常但我在提交输入字符串时出错。
有人可以帮助我吗?
答案 0 :(得分:1)
您需要在preg_match
代码中使用 required regex delimiter :
preg_match('/^[a-zA-Z]+(?:[\s-]+[a-zA-Z]+)*$/', $custom_fields["city_id"])