我正在使用此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);
}
});
答案 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');
}
})
});