2013-05-16 4 views
3

나는 100 또는 100.45 수있는 가격에 대한 PHP에서 유효성을 가지고 싶어 소수점 2 자리는 선택 사항입니다.유효한 2 자리 10 진수에 대한 정규 표현

이제 유효성 검사는 숫자 만 허용해야합니다.

지금까지 내가 그것을

if (!preg_match('/^[0-9]+(\.[0-9]{1,2})?/', "100")) 
{ 
    echo "Invalid"; 
} 
else 
{ 
    echo "Valid"; 
} 

을 달성하기 위해 관리하지만 여기서 문제는 내가 100a.00 또는 100A 또는

100.a00는 정부에서 저를 도와주세요 입력 한 경우에도 유효 보여주는 것입니다 그것 때문에 숫자 만 100 또는 100.00 형식, 즉 허용되는

+1

끝에 '$'를 추가하여 문자열 끝에 일치 시키려고 했습니까? 현재 유효한 일련의 문자를'^'로 매치하고 있으므로 100a가 유효하기 때문에 '100a'가 유효합니다. - a는 무시됩니다. – andrewsi

답변

2

정규식에 $가 없습니다. 현재 '100a ...'의 처음 3 문자가 정규 표현식과 일치합니다.

preg_match('/^[0-9]+(\.[0-9]{1,2})?$/', "100") 

트릭을 수행해야합니다.