PHP正则表达式不工作,并一直给我错误

时间:2014-01-15 18:21:49

标签: php regex validation

我遇到了正则表达式问题,并且不确定为什么在输入正确的字符串后这个验证会给我一个错误。

    // 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/中的正则表达式。它工作正常但我在提交输入字符串时出错。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您需要在preg_match代码中使用 required regex delimiter

preg_match('/^[a-zA-Z]+(?:[\s-]+[a-zA-Z]+)*$/', $custom_fields["city_id"])