2010-07-02 4 views

답변

18

아마도 내장 기능을 사용하는 것이 더 좋은 생각 : 당신이 문자열이 비어있을 수 없습니다 것을 요구하는 경우 * 대신 + 한정 기호를 사용할 수 있습니다 ctype_alnum

+1

나는 이것으로 가고 정규 표현식의 불필요한 오버 헤드를 피할 것이다. – casablanca

+2

+1'ctype' 함수는 놀라 울 정도로 과소 평가되었습니다. :) @ 카사 블랑카 읽기 쉽고 이해하기 쉽습니다. – deceze

+0

PHP 확장 기능에 따라 다릅니 까? – wamp

6
preg_match("/^[A-Za-z0-9]*$/", $new_password); 

모든 문자는 영숫자 (하지만 영어 이외의 문자주의) 경우는 true 제공합니다. ^은 문자열의 시작을 표시하고^$ ^는 끝을 표시합니다. 문자열이 비어 있으면 true이됩니다.

preg_match("/^[A-Za-z0-9]+$/", $new_password); 
+0

빈 문자열을 허용하는 경우 +와 *를 바꾸십시오. –

+0

@Yah 맞아요, 대답을 변경했습니다. 빈 문자열의 경우 모든 문자가 영숫자 (영숫자가 아닌 문자)입니다. – Artefacto

+2

그들은 슈뢰딩거 문자열입니다! : -O – deceze

0

오래된 질문을, 그러나 이것은 내 용액 :

<?php 
public function alphanum($string){ 
    if(function_exists('ctype_alnum')){ 
     $return = ctype_alnum($string); 
    }else{ 
     $return = preg_match('/^[a-z0-9]+$/i', $string) > 0; 
    } 
    return $return; 
} 
?> 
[? 문자열 만 영숫자 문자로 구성하는 경우를 결정하기 PHP 함수 (
관련 문제