0
다음 정규식 if 문이 작동하지 않는 것 같습니다. 나는 사용자가 2 ~ 3 글자 사이에서 7 ~ 11 글자 사이에 입력하도록하고 싶다. 그렇지 않으면 오류 메시지를 리턴하십시오.정규식이 참인 경우에만 양식의 유효성을 검사 할 수 있습니다.
add_filter('gform_field_validation_1_44', 'tax_id_verif', 10, 4);
function tax_id_verif ($result, $value, $form, $field)
{$tax_regex = "/^[a-zA-Z]{2,3}\s?+[1-9]{7,12}$/g";
$tax_match = preg_match($tax_regex, $value, $match);
if ($result != $tax_match) {
$result['is_valid'] = false;
$result['message'] = 'Please enter a correct tax ID';
}
return $result;
}
'g'한정자는 지원되지 않습니다. 또한,'\ s? +'는 1 또는 0의 공백 문자와 일치합니다. 아마도'\ s *'만 필요할 것입니다. 또한, [1-9]는 '1'에서 '9'까지의 숫자와 만 일치하며 '0'과 일치하지 않습니다. '$ tax_regex = "/^[a-zA-Z] {2,3} \ s * [0-9] {7,11} $ /"' –
'[1-9]'는 0과 일치하지 않습니다. . 나는 당신이'[0-9]'를 의미한다고 생각합니다. –
[1-9] {7,12}은 (0을 제외한) 7과 11 사이의 숫자와 일치합니다. '[0-9] {7,11} ' (btw, \ d는 [0-9]) – dquijada