如何检查屏蔽输入字段是否为空

时间:2016-01-06 19:04:47

标签: javascript html livevalidation

我正在使用此masked input plugin,我想检查字段是否为空。以下是我的尝试,但它似乎不起作用:

HTML

<input type="text" name="phone" id="phoneid" />

Le JavaScript:

$("#phoneid").mask("999-999-9999");

此代码不起作用

            $("#phoneid").keyup(function(){
                if($("#phoneid").val().length == 0){
                    alert(111);
                }
            });

4 个答案:

答案 0 :(得分:5)

您正在使用的屏蔽插件会更改input元素的值。

当元素为空时,它的值为___-___-____

您可以在检查值的长度时删除_ / -个字符:

$("#phoneid").on('keyup', function() {
  if (this.value.replace(/[_-]/g, '').length === 0) {
    alert('Empty');
  }
});

或者,您也可以检查该值是否仅包含_ / -字符:

$("#phoneid").on('keyup', function() {
  if (/^[_-]+$/.test(this.value)) {
    alert('Empty');
  }
});

答案 1 :(得分:2)

我们可以通过再次使用“9999999999”屏蔽它来获取这种未屏蔽的值,即不用破折号然后比较如下:

$(document).ready(function(){
  $("#phoneid").mask("999-999-9999");
  
  $("#phoneid").keyup(function(){
     if($("#phoneid").mask("9999999999").val().length == 0){
         alert(111);
     }
     $("#phoneid").mask("999-999-9999");
   });
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<script src="https://raw.githubusercontent.com/digitalBush/jquery.maskedinput/1.4.1/dist/jquery.maskedinput.min.js"></script>

<input type="text" name="phone" id="phoneid" />
<button id="test">Test</button>

答案 2 :(得分:0)

对我来说简单的解决方案。此代码用于检查所有输入,包括屏蔽: inputs.val()==&#34;&#34;

.on('blur', '.form__input', function(e) {
    var inputs = $(this).find('input,textarea,select');
    setTimeout(function(){
        if (inputs.val().length == 0 || inputs.val() == ""){
            alert('Empty');
        }
    },100);
});

答案 3 :(得分:0)

看看我的Codepen:https://codepen.io/ngocquydhtn/pen/YzwVMKR

    $(document).ready(function() {
var phoneMask = IMask(
  document.getElementById('phoneid'),
  {
    mask: '0000-000-000',
    lazy: false, 
    placeholderChar: '_'
  })
$("#phoneid").keyup(function(){
  if(this.value.replace(/[_-]/g, '').length==10){
    $(".btn").removeAttr('disabled');
  }
  else{
    $(".btn").attr('disabled','true');
  }
})
});