0

我已经为数量编写了一个正则表达式,他们可以订购的最大数量是每个(夏季、秋季、冬季)500 个。表达式是——

 var chkquantity = ^([1-9]?\d|[1-4]\d{2}|500)$/ 

我不确定测试是否正确-

if ((chkquantity.test(quantity)== false){
  alertmsg = alertmsg + "Please limit each magazine to 500 copies or less:" + "\n";
} 

?

4

3 回答 3

1

如果您正在处理数字,请将它们作为数字处理。

if (Number(quantity) > 500) {
    alertmsg = alertmsg + "Please limit each magazine to 500 copies or less:" + "\n";
}
于 2013-02-15T17:43:51.337 回答
1

根据 Torsten 的答案,您可能还想验证它是一个数字。

if(Number(quantity) > 500 || isNaN(quantity)) {
于 2013-02-15T17:48:00.867 回答
0

由于您正在处理数字,因此您可以使用更简单的方法来摆脱困境。只需验证它是所有数字,并且数值小于或等于500

function checkLimit(val){
    if (!isNaN(val) && parseInt(val)<500)
        return true;
    else if(isNaN(val)){
        alert ("Enter valid quantity.");

    return false;
}

if (!checkLimit(quantity))
    alertmsg = alertmsg + "Please limit each magazine to 500 copies or less:" + "\n";
于 2013-02-15T17:56:14.567 回答