문자열이 공백 (공백 문자)을 포함 할 때 FALSE
을 반환하지만이 함수는 ctype_alpha
이라는 것을 알고 있습니다.PHP에서 공백으로 알파벳순 문자열 만 유효성을 검사하는 방법은 무엇입니까?
알파 문자 및 공백을 허용하려면 어떻게해야합니까?
문자열이 공백 (공백 문자)을 포함 할 때 FALSE
을 반환하지만이 함수는 ctype_alpha
이라는 것을 알고 있습니다.PHP에서 공백으로 알파벳순 문자열 만 유효성을 검사하는 방법은 무엇입니까?
알파 문자 및 공백을 허용하려면 어떻게해야합니까?
$is_alpha_space = ctype_alpha(str_replace(' ', '', $input)));
또는
$is_alpha_space = preg_match('/^[a-z\s]*$/i', $input);
if (preg_match("^/[a-zA-Z ]+$/", $input)) {
// input matches
}
데모 : http://ideone.com/jp6Wi
문서 : http://php.net/manual/en/function.preg-match.php
ctype_alpha(preg_replace('/\s/', '', $mystring))
내부 표현은 공백없이 문자열을 반환하고 당신은 당신이 원하는대로 ctype_alpha`` 사용
이것은 **의 범주에 해당합니다 ** 환상적인 대체 규칙이 필요하지 않으면'preg_replace' 대신 항상'str_replace'를 사용해야합니다. ** – toxalot
스페이스를 제거하는 것은 방법이지만, 요즘 빈 문자열에는 ctype_alpha 결과가 false라는 것을 기억하십시오! 사용하는 방법 아래 ...
function validateAlpha($valueToValidate, $spaceAllowed = false) {
if ($spaceAllowed) {
$valueToValidate = str_replace(' ', '', $valueToValidate);
}
if (strlen($valueToValidate) == 0) {
return true;
}
return ctype_alpha($valueToValidate);
}
확인하기 전에 공백을 숫자로 바꿉니 까? – DanRedux
@DanRedux는 문자열에 숫자가 포함되어 있지 않은 경우에만 작동합니다. –
왜? 숫자가 미리 포함되어 있으면 올바르게 false를 반환합니다. 숫자 뒤에 숫자가 포함되어 있으면 false를 올바르게 반환합니다. 잘못된 토큰을 나쁜 토큰으로 바꾸어 공백을 나쁜 토큰으로 처리합니다. – DanRedux