用于检查文本框的jQuery函数

时间:2013-05-30 07:48:57

标签: javascript jquery regex validation

我想使用验证输入字段的jquery函数。此输入字段必须用于输入以0开头的11位数字。 我尝试了一些功能但不起作用!

   function check(mob) {
        var firstnum = mob.substring(1);
        alert(firstnum);
        if (firstnum != "0" || mob.lenght != 11)
            return false;
        else
            return true;
    }

6 个答案:

答案 0 :(得分:1)

您需要使用.charAt(0)来获取字符串的第一个字符。 .substring(1)将返回字符串的其余部分减去第一个字符。

"01234567890".substring(1) = "1234567890"

"01234567890".charAt(0) = "0"

"01234567890".length = 11 (assuming that you have spelled "length" correctly in your code)

修改:由于您还需要检查数字,可以使用正则表达式来验证这一点(尽管整个检查可以也可以使用正则表达式

因此,完成的功能可简化为:

function isValidMobile(mobileNumber) {
    return mobileNumber.charAt(0) == 0 && mobileNumber.length === 11 && /^\d+$/.test(mobileNumber);
}

或没有正则表达式

function isValidMobile(mobileNumber) {
    return mobileNumber.charAt(0) == 0 && mobileNumber.length === 11 && !isNaN(mobileNumber);
}

答案 1 :(得分:1)

function check(mob) {
    return mob.substring(0, 1) == '0' && mob.length == 11;
}

String Method Reference

如果要检查是否为11位,则应使用RegExp

function check(mob) {
    return mob.match(/^0\d{10}$/) != null;
}

答案 2 :(得分:0)

if (firstnum >= 1 || mob.lenght <= 11)   //lenght  spell wrong 

更改为

 if (firstnum >= 1 || mob.length<= 11) 

答案 3 :(得分:0)

function check(mob) {
  if(!isNaN(mob)){ // or use parseInt
    var firstnum = mob.charAt(0);
    alert(firstnum);

    if (firstnum != "0" || mob.length != 11) {
            return false;
       } else {
            return true;
    } 
  }
}

答案 4 :(得分:0)

你可以尝试一下

function check(mob) {
    var num = parseInt(mob);
    if (mob+'' == '0'+num  && mob.length == 11)
        return true;
    else
        return false;
}

这里我正在做的是,如果所有字符都是数字,那么parseInt会在没有0的情况下给出完全相同的数字,所以在条件中我只是在启动和检查手机号码时添加0,它将在一次进行2次验证,所有数字都以0开头,下一次验证用于长度

答案 5 :(得分:0)

尝试使用如下的简单正则表达式

function check(mob) {
    return /^0\d{10}$/.test(mob)
}