我想使用验证输入字段的jquery函数。此输入字段必须用于输入以0开头的11位数字。 我尝试了一些功能但不起作用!
function check(mob) {
var firstnum = mob.substring(1);
alert(firstnum);
if (firstnum != "0" || mob.lenght != 11)
return false;
else
return true;
}
答案 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;
}
如果要检查是否为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)
}