Javascript 如何在jquery中比较keyup()上手机号码的第一个字母,即0与否

Javascript 如何在jquery中比较keyup()上手机号码的第一个字母,即0与否,javascript,jquery,html,ajax,function,Javascript,Jquery,Html,Ajax,Function,我想比较手机号码的第一个字母,即零与否。 但问题是每次我按下一个键时它都会执行,这意味着它会根据我按下的键数多次显示错误 $("input[name='phone_mobile']").keyup(function(){ var newMobile = $("input[name='phone_mobile']").val(); if(newMobile.charAt(0) == '0'){ $('.phone_mobile').append('&

我想比较手机号码的第一个字母,即零与否。 但问题是每次我按下一个键时它都会执行,这意味着它会根据我按下的键数多次显示错误

$("input[name='phone_mobile']").keyup(function(){
        var newMobile = $("input[name='phone_mobile']").val();
        if(newMobile.charAt(0) == '0'){
        $('.phone_mobile').append('<span style="color:#a94442">Mobile number can't start from zero</span>');
        }
    })
$(“输入[name='phone\u mobile']”)。键控(函数(){
var newMobile=$(“输入[name='phone_mobile']”)val();
if(newMobile.charAt(0)='0'){
$('.phone_mobile').append('手机号码不能从零开始');
}
})

$(“输入[name='phone\u mobile']”)。键控(函数(){
var newMobile=$(“输入[name='phone_mobile']”)val();
if(newMobile.charAt(0)='0'){
$('.phone_mobile').html('手机号码不能从零开始');
}否则{
$('.phone_mobile').html('');
}
});

$(“输入[name='phone\u mobile']”)。键控(函数(){
var newMobile=$(“输入[name='phone_mobile']”)val();
if(newMobile.charAt(0)='0'){
$('.phone_mobile').html('手机号码不能从零开始');
}否则{
$('.phone_mobile').html('');
}
});

每次按键时都会执行该函数。。。你不能阻止
但您可以通过多种方式控制错误消息出现的次数
我们将使用一个变量isalreadyinformation


让isAlreadyInformed=false;
//添加keyup事件
$(“#phone_mobile”).keyup(函数(){
//每当你按下一个键,这个函数就会被执行…你不能阻止它
//但您可以通过多种方式控制错误消息出现的次数
//我们将使用一个变量isalreadyinformation
var newMobile=$(“#phone_mobile”).val();
if(newMobile.charAt(0)='0'){
如果(!isAlreadyInformed){
$('.phone_mobile').append('手机号码不能从零开始');
}
isAlreadyInformed=true;
}
})

每次按键时都会执行该函数。。。你不能阻止
但您可以通过多种方式控制错误消息出现的次数
我们将使用一个变量isalreadyinformation


让isAlreadyInformed=false;
//添加keyup事件
$(“#phone_mobile”).keyup(函数(){
//每当你按下一个键,这个函数就会被执行…你不能阻止它
//但您可以通过多种方式控制错误消息出现的次数
//我们将使用一个变量isalreadyinformation
var newMobile=$(“#phone_mobile”).val();
if(newMobile.charAt(0)='0'){
如果(!isAlreadyInformed){
$('.phone_mobile').append('手机号码不能从零开始');
}
isAlreadyInformed=true;
}
})

问题在于您使用的是jquery的append方法,它每次都会追加输出。您可以使用
text()
html()
方法来解决此问题

$(“输入[name='phone\u mobile']”)。键控(函数(){
var newMobile=$(“输入[name='phone_mobile']”)val();
if(newMobile.charAt(0)='0'){
$('.phone_mobile').text(“手机号码不能从零开始”);
}
})

问题在于您使用的是jquery的append方法,它每次都会追加输出。您可以使用
text()
html()
方法来解决此问题

$(“输入[name='phone\u mobile']”)。键控(函数(){
var newMobile=$(“输入[name='phone_mobile']”)val();
if(newMobile.charAt(0)='0'){
$('.phone_mobile').text(“手机号码不能从零开始”);
}
})


比较逻辑正确。问题仅仅是由于附加的HTML字符串中的引号不匹配。您可以在代码段的语法突出显示中看到问题。正如@Rorymcrossan所提到的,您可能只需要为转义字符
$('.phone\u mobile')添加“\”。append('mobile number不能从零开始')你读到错误告诉你的内容了吗?它们的信息量很大,比较逻辑是正确的。问题仅仅是由于附加的HTML字符串中的引号不匹配。您可以在代码段的语法突出显示中看到问题。正如@Rorymcrossan所提到的,您可能只需要为转义字符
$('.phone\u mobile')添加“\”。append('mobile number不能从零开始')你读到错误告诉你的内容了吗?它们的信息量很大。