如何验证输入字符串只允许长度为9,10,12或13位的整数?

时间:2014-02-19 18:20:44

标签: javascript jquery

如何验证输入字符串,以便它只允许整数9,10,12或13位?

3 个答案:

答案 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
}