创建脚本以在输入的所有数字都为零时提示警报。如果数字输入正确,脚本正常工作但在firebug控制台中通过JS错误。
如何在没有错误提示的情况下解决这个问题。
代码 -
jQuery("#EventPhone").focusout(function(){
var $this = jQuery(this);
var phoneNum = ($this.val()).toString();
var count1 = phoneNum.match(/0/g).length || "";
var phoneNumLen = phoneNum.length
if( phoneNumLen == count1 )
{
alert('All numbers in a phone number cannot be zero!!');
$this.val("");
}
});
答案 0 :(得分:1)
更新(如果允许使用字符)
使用此代码 - DEMO
jQuery("#EventPhone").focusout(function(){
var phoneNum = parseInt($(this).val().trim().replace( /\D+/g,''));
if(phoneNum === 0 )
alert("All numbers in a phone number cannot be zero!");
});
如果不允许使用此字符,请使用此代码 - DEMO
jQuery("#EventPhone").focusout(function(){
var $this = jQuery(this);
var phoneNum = $this.val().trim();
var phoneNumber = parseInt(phoneNum);
if(phoneNum == phoneNumber && phoneNumber !== 0 ) // don't use phoneNum === phoneNumber
{
alert("Right Number");
}
else{
alert('Wrong Number');
$this.val("");
}
});
答案 1 :(得分:0)
现在,您在此行中有错误:
var count1 = phoneNum.match(/0/g).length || "";
因为phoneNum.match(/0/g)
可能为null,所以,如果你先检查它是这样的:
var count1 = (phoneNum.match(/0/g) && phoneNum.match(/0/g).length) || "";
一切都会好的。
检查空间:
var phoneNum = ($this.val()).toString().replace(' ', '');