haleyyan 2015-09-02
在做Web网页要用表单传数据给后台处理时,需要对数据进行验证和检查:
function trimStr(str){ return str.replace(/^\s+|\s+$/g,''); } function checksub(){ var num=0; var str=""; if($("#merchantId").val()!=""){ var merchantIdvalue=$("#merchantId").val(); if(trimStr(merchantIdvalue)!=""){ var len=trimStr(merchantIdvalue).length; if(len>32){ num++; str+="输入商户ID长度不能超过32!"+"\n"; } }else{ num++; str+="商户ID名称不能为空!"+"\n"; } }else{ num++; str+="商户ID名称不能为空!"+"\n"; }
1,第一个方法中,replace括号里面的是正则表达式——匹配字符串头尾的任何空白字符,包括空格、制表符、换页符等。除这个之外还有其他经常用到的正则表达式有:
只能输入数字:
function checknum(numval){ var checknum=/^[0-9]*[0-9][0-9]*$/; if(numval.value!=""){ var numvalue=numval.value; if(checknum.test(numvalue)){ return true; }else{ alert("只能输入数字"); numval.value=""; return false; } }
只能输入邮箱格式:
function checkmail(mailval){ var checkmail=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; if(mailval.value!=""){ var mailvalue=mailval.value; if(checkmail.test(mailvalue)){ return true; }else{ alert("只能输入邮箱格式!"); mailval.value=""; return false; } }
只能输入价钱模式:
function checkprice(numval){ var checknum=/^(0|[1-9][0-9]{0,7})(\.[0-9]{1,2})?$/; if(numval.value!=""){ var numvalue=numval.value; if(checknum.test(numvalue)){ return true; }else{ alert("只能输入数字,且整数最多8位,小数最多2位!"); numval.value=""; return false; } } }
2,还要验证输入长度是否符合要求,以及是否为空。
最后方法将所有格式错误的信息alert出去:
if(num>0){ alert(str); if(document.form2.length>0){ for(var i=0;i<document.form2.length; i++){ var input = document.form2.elements[i]; if(input.value==""){ input.focus(); return false; } } } return false; }