function checkQuanJiaFu(){
var mobil =document.getElementById("mobile");
var rfComPhone =document.getElementById("rfComPhone");
var flag = true;
alert(mobil +'ss'+rfComPhone);
var regTextMobil=/^0{0,1}(13[0-9]|15[0-9]|18[0-9])[0-9]{8}$/;
if(mobil.value!=''){
if(!regTextMobil.test(mobil.value)){
alert('手机号码格式不符');
mobil.value="";
flag = false;
}
}
if(rfComPhone.value!=''){
if(!regTextMobil.test(rfComPhone.value)){
alert('手机号码格式不符');
rfComPhone.value="";
flag = false;
}
}
return flag;
}
今天再修改之前做过的一个js时,由于mobile和rfComPhone有可能不同时出现在一个页面上,就导致了可能有null的情况,这样如果像上面代码中两个if中表达式的写法,就总有一个是不起作用的,但是又没错误提示,纠结了好长时间,后经同事指点,才发现要对null进行判断。于是代码修改if(mobil&&mobil.value!='')
function checkQuanJiaFu(){
var mobil =document.getElementById("mobile");
var rfComPhone =document.getElementById("rfComPhone");
var flag = true;
alert(mobil +'ss'+rfComPhone);
var regTextMobil=/^0{0,1}(13[0-9]|15[0-9]|18[0-9])[0-9]{8}$/;
if(mobil&&mobil.value!=''){
if(!regTextMobil.test(mobil.value)){
alert('手机号码格式不符');
mobil.value="";
flag = false;
}
}
if(rfComPhone&&rfComPhone.value!=''){
if(!regTextMobil.test(rfComPhone.value)){
alert('手机号码格式不符');
rfComPhone.value="";
flag = false;
}
}
return flag;
}
错误是改过来了,但是,又发现一个问题,就是if(var)是什么意思?提出这个问题才发现原来自己的js水平还是依然很菜的,要继续学习。。。。
==========================
关于if(var)的理解:
发现网友的这段js写的很全啦,太好了,转过来学习!
<script type="text/javascript">
var r = "";
window.onload = function () {
var a;
wLine(((a) ? "true " : "false ") + typeof (a)); //false a==undefined
wLine(((a=null) ? "true " : "false ") + typeof (a)); //false a==null
wLine(((a = -0) ? "true " : "false ") + typeof (a)); //false a==0
wLine(((a = -0.000000000001) ? "true " : "false ") + typeof (a)); //true a!=0
wLine(((a = "") ? "true " : "false ") + typeof (a)); //false a==""
wLine(((a = " ") ? "true " : "false ") + typeof (a)); //true a==" " 空格
wLine(((a = function () { return false; }) ? "true " : "false ") + typeof (a)); //true a==function
wLine(((a =( function () { return false; }))() ? "true " : "false ") + typeof (a)); //false a==function
}
function wLine(val) {
var f = document.forms[0];
if(f)f.innerHTML+=val+"<hr/>";
else alert(val);
}
</script>
从上面的代码可以看到,if表达式是很灵活的,除了像java中常见的表达式形式,还有很多情况
if(a)... 等价于 if(a==true) 或者if(a!=null)等等的意思。但是前者的范围比较大。
if(a) 只要a!=0 ; a!=null;a!=undefined;a!=""的情况下就成立了。