2014-11-14 2 views
4

Так что я должен проверить введенный gpa так, чтобы он следовал указаниям первого номера 0-4, следующее - (.), За которым следуют еще две цифры 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

спасибо, что он отлично работает. Спасибо за быстрый ответ – johanvdv

0
/^[0-4][.][0-9][0-9]$/ 

^соответствует все строки, начинающиеся с числом от 0 и 4 $ - означает, что строка заканчивается числом от 0 до 9

Надеюсь, это поможет.

Смежные вопросы