2014-11-14 3 views
4

그래서 GPA가 유효성을 검사하여 처음 숫자가 0-4이고 다음 숫자가 (.) 뒤에 2 자리 숫자 0-9가 오도록 확인해야합니다. 이것은 내가 가진 것이지만 작동하지 않습니다.RegExpressions를 사용하여 GPA 유효성 확인

function validateGPA(gpa){ 
     var errorValue = gpa; 
     var legalValue = /^\[0-4]\[.]\d\d$/; 
     console.log(gpa); 
     if(gpa == ""){ 
      errorValue = "Please enter your GPA.\n"; 
     } else if(!legalValue.test(gpa)){ 
      errorValue = "Please enter a 3 digit gpa.\n"; 
     } 
     return errorValue; 
    } 

내가 잘못하고있는 것이 무엇인지 모르겠지만, Ive는 몇 가지 조정을 시도했지만 아무 것도 작동하지 않는 것 같습니다. 이런

+0

왜 [['? –

답변

6

이 짧은 표현 :

/^[0-4]\.\d\d$/ 

설명 :

^  - Start of line 
[0-4] - One digit in the range 0-4 
\. - A dot, which needs to be escaped with a backslash. 
     Without the backslash it means "any character apart from line break" 
\d\d - Two digits (any value from 0-9) 
$  - End of line 
+0

덕분에 이제 완벽하게 작동합니다. 빠른 respone 주셔서 감사합니다. – johanvdv

4

보십시오

/^[0-4]\.\d{2}$/ 
0
/^[0-4][.][0-9][0-9]$/ 

^모든 문자열 0까지의 숫자로 시작 일치 및 4 $ - 문자열이 0에서 9까지의 숫자로 끝나야합니다.

희망이 있습니다.