2012-04-07 5 views
0

PHP에서 유효성 검사를 위해 다음 코드 블록을 가지고 있는데 유효성 검사가 아직 실패한 이유를 알 수 없습니다. 나는 정규 표현식의 초보자이지만 ($,. -) 허용하고 싶지만 작동하지 않습니다. 나는 "[A-Za-z0-9]"로 시작했습니다. 아래 코드에서 허용되는 유일한 문자는 대시 (-)이지만 $ 또는가 아닙니다. 또는 공간. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?PHP 정규 표현식 유효성 확인

case 'alnum': 
{ 
     $bret= $this->test_datatype($input_value,"[A-Za-z0-9\s$,.-]"); 
     if(false == $bret) { 
      $default_error_message = sprintf(E_VAL_ALNUM_CHECK_FAILED,$variable_name); 
     } 
    break; 
          } 
+0

당신은 바로'preg_match'를 사용하고 차단 방법을 당황하게해서는 안됩니다. (그것의 내부 동작은 알려지지 않았기 때문에 대답하기가 어렵습니다). 'false =='비교도 매우 중복됩니다. – mario

답변

1

당신은 작동하지 않는 문자 앞에 백 슬래시를 사용할 수 있습니다 즉, $ 등

$bret= $this->test_datatype($input_value,"[A-Za-z0-9\s\$\,\.-]"); 
+0

잘 수행했습니다. 감사! –

+0

그게 좋네요 :) – sarwar026