2016-01-06 176 views
3

我用這masked input plugin,我想檢查時,該字段爲空。下面是我試過,但它似乎並沒有工作:如何檢查是否屏蔽輸入字段爲空

HTML

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

樂的JavaScript:

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

此代碼不能正常工作

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

是ID 「phoneid」 或 「Momphone」? – Pointy

+0

它應該是'phoneid'。我已更正了代碼。 – mpora

回答

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'); 
    } 
}); 
+0

感謝@JoshCrozier這爲我工作。 – mpora

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>

0

我簡單的解決方案。此代碼是用於檢查所有輸入接口,包括蒙面: inputs.val()== 「」

.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); 
});