2013-10-19 3 views
0

양식에 일부 유효성 검사를 추가하려고 시도했지만 유효성이 검사되는 데이터가 유효한 경우에도 유효성 검사를 계속합니다.유효성 검사 항상 유효성 검사 실패

if (document.getElementById("mileageNumber").value == /^[0-9]+$/) 
{ 
    if (document.getElementById("vehicleNumber").value == /^[0-9]+$/) 
    { 
     <Desired Action> 
    } 
    else 
    { 
     alert("Please Enter Numbers Only"); 
    } 
} 
else 
{ 
    alert("Please Enter Numbers Only"); 
} 

아무도 내가 잘못 한 것을 볼 수 있습니까?

답변

1

당신은 정규식을 테스트하고 값으로 평가하지해야합니다.

if(/^[0-9]+$/.test(document.getElementById("vehicleNumber").value)){ 

    //Validation passed 

} 
1

RegExp.test 메서드를 사용해야합니다.

/^[0-9]+$/.test(document.getElementById("mileageNumber").value); 

또한과 같이 정규 표현식을 단순화 할 수 있습니다 /^\d+$/

0

문자열을 정규식 개체와 비교합니다. regex 객체는 정규 표현식 객체의 구조를 설명합니다. 문자열은 단지 문자 집합입니다. 그들은 단순히 똑같은 것이 아닙니다. 의사 코드 apples == carrots이 절대로 true를 반환하지 않는 것처럼 string == regex도 절대로 반환하지 않습니다. 문자열에 정규식 개체가 설명하는 구조가 있는지 테스트하는 함수가 필요합니다.

string.match(..)을 사용하여 정규식에 대해 문자열을 올바르게 테스트 할 수 있습니다.

document.getElementById("vehicleNumber").value.match(/^[0-9]+$/); 
관련 문제