首页  >  问答  >  正文

使用jquery验证电话号码长度不起作用

我正在尝试使用 jquery 验证电话号码长度,当用户开始输入自己的内容时,它应该显示,我执行了以下代码:

function validatePhone(phone) {
  if (phone.value.length <= 10 && phone.value.length >= 5) {
    let
    var = 'Yes';
    return var;
  } else {
    let
    var = 'No';
    return var;
  }
}

function validate() {
  let result1 = $("#result1");
  let phone = $("#phone").val();
  result1.text("");


  if (validatePhone(phone)) {
    result1.text(var);
    result1.css("color", "green");
  }
  return false;
}
jQuery(function($) {
  $("#phone").on("input", validate);
});
<input type="number" class="form-control"  id="phone" name="phone">
<span class="label">Phone Number<span style="color:red">*</span> <span id="result1"></span></span>

但是这不起作用,有人可以告诉我这里出了什么问题吗,提前谢谢

P粉520545753P粉520545753184 天前304

全部回复(1)我来回复

  • P粉216807924

    P粉2168079242024-03-31 11:09:27

    我稍微清理了你的代码,基本上没问题,但你有一些小的语法错误和逻辑错误。我还建议使用 label 标签。如果您愿意,代码可以写得更短!

    function validatePhone(phone) {
      if (phone.length <= 10 && phone.length >= 5) {
        return true;
      } else {
        return false;
      }
    }
    
    function validate() {
      let result1 = $("#result1");
      let phone = $("#phone").val();
      result1.text("");
    
    
      if (validatePhone(phone)) {
        result1.text("great!");
        result1.css("color", "green");
      } else {
        result1.text("please input phone number");
        result1.css("color", "red");
      }
    }
    
    jQuery(function($) {
      $("#phone").on("input", validate);
    });
    

    HTML

    
    
    
    

    我还建议你看看 css:valid 规则! https://developer.mozilla.org/en-US/docs /Web/CSS/:有效

    回复
    0
  • 取消回复