如何在javascript中验证范围为5-20的数字?

时间:2015-10-30 10:47:32

标签: javascript regex

我试过以下

function isValidMobileNo(mobNo) {
    var pattern = /^\d{20}$/;
    return pattern.test(mobNo);
}

if (!isValidMobileNo(temp)) {
    $("#spanRegMobNo").html("Only Numbers allowed and limit is 5-20");
    return ("Only Numbers allowed and limit is 5-20" + "\n");

} else {
    $("#spanRegMobNo").html("");
    return "";
}

但是在这里我必须输入20位但我想要给5-20范围? 怎么样?

3 个答案:

答案 0 :(得分:1)

将正则表达式更改为

var pattern = /^\d{5,20}$/;

使用范围允许5到20位数字。

我还建议在input属性的pattern元素上使用相同的正则表达式。



input:valid {
  color: green;
}
input:invalid {
  color: red;
}

<input type="text" pattern="\d{5,20}" />
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您使用HTML,则可以使用输入数字标记。

<input type="number" name="quantity" min="1" max="5">

另外,在javascript中,模式&#34; / ^ \ d {5,20} $ /&#34; :)

答案 2 :(得分:0)

你的问题不明确,所以这里有2个案例的2个解决方案。

如果您不想使用正则表达式,您也可以使用此方法(它还会检查它是否为数字或字符串编号,如:"123"):< / p>

此示例将检查数字长度是否介于5到20之间:

function isValidMobileNo(mobNo) {
    var numLength = mobNo.toString().length;
    return (isNaN(mobNo) && numLength >= 5 && numLength <= 20);
}

这将检查数字范围是否在5到20之间:

function isValidMobileNo(mobNo) {
    return (isNaN(mobNo) && mobNo >= 5 && mobNo<= 20);
}