如何验证输入字符串,以便它只允许整数9,10,12或13位?
答案 0 :(得分:3)
function meetsRequirements(str) {
// make sure characters are only digits
if (str.replace(/[0-9]/gi,"").length === 0) {
// get number of digits
numDigits = str.replace(/[^0-9]/gi, "").length;
switch (numDigits) {
case 9:
case 10:
case 12:
case 13:
return true;
default:
return false;
}
}
else {
return false;
}
}
答案 1 :(得分:1)
首先,您应首先尝试并向我们提出具体问题 我给你举例你想要的例子。
演示:http://jsfiddle.net/a6NJk/633/
使用正则表达式检查数字,并使用length
检查长度。
试试这样:
的 jquery的:强>
var intRegex = /^\d+$/;
var val = $('#no').val();
var intLength = val.length;
if(intRegex.test(val) && (intLength == 9 || intLength == 10 || intLength == 12 )) {
alert('I am a number and length '+intLength );
}
else {
alert("wrong input!") ;
}
示例html:
<input type="text" name="f1" value="" id="no">
<input type="button" value="submit!" id="f_submit" name="submit"/>
答案 2 :(得分:0)
您可以编写类似
的功能function str_is_int(str) {
return str === ((+str) | 0).toString();
}
然后
if (str_is_int(my_string) && my_string.length >= 9 && my_string.length <= 13) {
// pass
} else {
// fail
}