我试过以下
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范围? 怎么样?
答案 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;
答案 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);
}