所以我必须验证输入的gpa,以便它遵循指南第一个数字是0-4,下一个是(。)后跟2个数字0-9。这就是我所拥有的,但它不起作用。
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;
}
我不确定我做错了什么,我尝试了一些调整,但似乎没有任何工作。
答案 0 :(得分:8)
这是最短的表达方式:
/^[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
答案 1 :(得分:5)
试试这样:
/^[0-4]\.\d{2}$/
答案 2 :(得分:0)
/^[0-4][.][0-9][0-9]$/
^匹配以0到4之间的数字开头的所有字符串 $ - 表示字符串以0到9之间的数字结尾
希望这有帮助。