常用JS
一、验证的代码
①验证是否为空
function check_blank(obj, obj_name){ if(obj.value != ''){ return true; }else{ alert(obj_name + "所填不能为空!"); obj.value = ""; return false; } }
②过滤输入字符的长度
function check_str_len(name,obj,maxLength){ obj.value=obj.value.replace(/(^\s*)|(\s*$)/g, ""); var newvalue = obj.value.replace(/[^\x00-\xff]/g, "**"); var length11 = newvalue.length; if(length11>maxLength){ alert(name+"的长度不能超过"+maxLength+"个字符!"); obj.value=""; obj.focus(); } }
③验证只能为数字
function checkNumber(obj){ var reg = /^[0-9]+$/; if(obj.value!=""&&!reg.test(obj.value)){ alert('只能输入数字!'); obj.value = ""; obj.focus(); return false; } }
RegExpObject.test(string) 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。记住if语句里面的逻辑写法。这个值不为空且值不存在于正则表达式中。
④验证数字大小的范围
function check_num_value(obj_name,obj,minvalue,maxvalue){ var reg = /^[0-9]+$/; if(obj.value!=""&&!reg.test(obj.value)){ alert(obj_name+'只能输入数字!'); obj.value = ""; obj.focus(); return false; }else if(minvalue>obj.value||obj.value>maxvalue){ alert(obj_name+"的范围是"+minvalue+"-"+maxvalue+"!"); obj.value=""; obj.focus(); return false; } }
⑤验证只能是字母和数字
function checkZmOrNum(zmnum){ var zmnumReg=/^[0-9a-zA-Z]*$/; if(zmnum.value!=""&&!zmnumReg.test(zmnum.value)){ alert("只能输入是字母或者数字,请重新输入"); zmnum.value=""; zmnum.focus(); return false; } }
⑥验证双精度数字
function check_double(obj,obj_name){ var reg = /^[0-9]+(\.[0-9]+)?$/; if(obj.value!=""&&!reg.test(obj.value)){ alert(obj_name+'所填必须为有效的双精度数字'); obj.value = ""; obj.focus(); return false; } }
⑦复选框全选
function selectAll(obj,cName){ var checkboxs = document.getElementsByName(cName); for(var i=0;i<checkboxs.length;i++){ checkboxs[i].checked = obj.checked; } }
复选框反选
function checkOther(obj,cName) { var checkboxs = document.getElementsByName(cName); for(var i=0;i<checkboxs.length;i++){ if(checkboxs[i].checked) { checkboxs[i].checked=false; } else checkboxs[i].checked="true"; } }
ecshop中的例子分析 1.点击复选框,html代码如下
<input onclick='listTable.selectAll(this, "checkboxes")' type="checkbox" />
<input type="checkbox" name="checkboxes[]" value="{$goods.goods_id}" />{$goods.goods_id}</td>
一般情况下是这样写
<input type="checkbox" name="slectFlag" onclick="selectAll(this,'checkboxes[]')"> 全选
⑧验证邮政编码
function check_youbian(obj){ var reg=/^\d{6}$/; if(obj.value!=""&&!reg.test(obj.value)){ alert('邮政编码格式输入错误!'); obj.value = ""; obj.focus(); return false; } }
页面可以这样写
<input type="text" name="zip" onblur="check_youbian(this);"/>
⑨验证邮箱格式
function check_email(obj){ var reg = /^[a-zA-Z0-9_-]+(\.([a-zA-Z0-9_-])+)*@[a-zA-Z0-9_-]+[.][a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)*$/; if(obj.value!=""&&!reg.test(obj.value)){ obj.select(); alert('电子邮箱格式输入错误!'); obj.value = ""; obj.focus(); return false; } }
⑩验证固定电话号码
0\d{2,3} 代表区号
[0\+]\d{2,3} 代表国际区号
\d{7,8} 代表7-8位数字(表示电话号码)
正确格式:区号-电话号码-分机号(全写|只写电话号码)
function check_phone(obj){ var reg=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/; if(obj.value!=""&&!reg.test(obj.value)){ alert('电话号码格式输入错误!'); obj.value = ""; obj.focus(); return false; } }
⑪验证手机号码(检验13,15,18开头的手机号!)
function check_telephone(obj){ var reg= /^[1][358]\d{9}$/; if(obj.value!=" "&&!reg.test(obj.value)){ alert('手机号码格式输入错误!'); obj.value = ""; obj.focus(); return false; } }
页面中要这样写 方法里面是this,不是this.value
<input name="mobile_phone" type="text" size="25" id="mobile_phone" onblur="checkmobile_phone(this);" class="inputBg"/>
⑫验证是否为中文
function isChinese(obj,obj_name){ var reg=/^[\u0391-\uFFE5]+$/; if(obj.value!=""&&!reg.test(obj.value)){ alert(obj_name+'必须输入中文!'); obj.value = ""; obj.focus(); return false; } }
⑬检验时间大小(与当前时间比较)
function checkDate(obj,obj_name){ var obj_value=obj.value.replace(/-/g,"/");//替换字符,变成标准格式(检验格式为:'2009-12-10') // var obj_value=obj.value.replace("-","/");//替换字符,变成标准格式(检验格式为:'2010-12-10 11:12') var date1=new Date(Date.parse(obj_value)); var date2=new Date();//取今天的日期 if(date1>date2){ alert(obj_name+"不能大于当前时间!"); return false; } }
⑭
⑮⑮⑯⑰⑱⑲⑳
2.验证的代码
在路上...