2011-02-01 6 views
1

문자열에 영문자가 포함되어 있습니다. 문자열에 0-9, -, + 또는 NA (NA는 다른 문자가없는 경우에만 NA의 유효성을 검사해야하며 문자열에 다른 문자가 포함되어 있으면 false를 표시해야 함)가 포함 된 경우 스크립트는 "(true)"를 반환해야합니다. "NA"). 문자열에 지정된 문자 이외의 다른 문자가 포함되어 있으면 스크립트에서 "false"를 표시합니다. 어떻게해야합니까?문자열 PHP (전화 번호 유효성 검사)에서 선택된 문자 만 유효성 검사

미리 감사드립니다 .. :)

답변

3
if(preg_match('/^(NA|[0-9+-]+)$/',$str)) { 
     echo "true\n"; 
} else { 
     echo "false\n"; 
} 
0

그것은 정규 표현식을 사용하여 아주 간단 blasteralfred : 그러나

$regExp = '/^(?:[0-9+-]+|NA)$/i'; 
echo preg_match($regExp, $string) ? 'true' : 'false'; 

: 당신은 당신이 확실

  • 됩니다 그냥 문자열 cont ains 0-9, -+? 이것은 다음과 같은 유효 숫자 만들 것입니다 : 당신은 단지 NA하지 nA, Na을 일치 시키려면
    • -9 + 9291 ---
    • + 2039-291919 ++ 0203-19293
  • na 인 경우 패턴 끝에 i을 제거하십시오.
+0

작동하지 않습니다. '[0-9 + -] + | na'를 그룹화해야합니다. – codaddict

0
$check1 = preg_match('/^[0-9]{1,}$/', $string); 
$check2 = preg_match('/^NA$/', $string); 
관련 문제