< script language ="JavaScript" > ... <!--/////**//**--------------- 客户端表单通用验证CheckForm(oForm) -----------------* 功能:通用验证所有的表单元素.* 使用:* <form name="form1" οnsubmit="return CheckForm(this)">* <input type="text" name="id" check="^S+$" warning="id不能为空,且不能含有空格">* <input type="submit">* </form>* 注意:写正则表达式时一定要小心.不要让"有心人"有空子钻.* 已实现功能:* 对text,password,hidden,file,textarea,select,radio,checkbox进行合法性验证* 待实现功能:把正则表式写成个库.*--------------- 客户端表单通用验证CheckForm(oForm) -----------------*///////主函数function CheckForm(oForm)...{var els = oForm.elements;//遍历所有表元素for(var i=0;i<els.length;i++)...{//是否需要验证if(els[i].check)...{//取得验证的正则字符串var sReg = els[i].check;//取得表单的值,用通用取值函数var sVal = GetValue(els[i]);//字符串->正则表达式,不区分大小写var reg = new RegExp(sReg,"i");if(!reg.test(sVal))...{//验证不通过,弹出提示warningalert(els[i].warning);//该表单元素取得焦点,用通用返回函数GoBack(els[i])return false;}}}}//通用取值函数分三类进行取值//文本输入框,直接取值el.value//单多选,遍历所有选项取得被选中的个数返回结果"00"表示选中两个//单多下拉菜单,遍历所有选项取得被选中的个数返回结果"0"表示选中一个function GetValue(el)...{//取得表单元素的类型var sType = el.type;switch(sType)...{case "text":case "hidden":case "password":case "file":case "textarea": return el.value;case "checkbox":case "radio": return GetValueChoose(el);case "select-one":case "select-multiple": return GetValueSel(el);}//取得radio,checkbox的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数function GetValueChoose(el)...{var sValue = "";//取得第一个元素的name,搜索这个元素组var tmpels = document.getElementsByName(el.name);for(var i=0;i<tmpels.length;i++)...{if(tmpels[i].checked)...{sValue += "0";}}return sValue;}//取得select的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数function GetValueSel(el)...{var sValue = "";for(var i=0;i<el.options.length;i++)...{//单选下拉框提示选项设置为value=""if(el.options[i].selected && el.options[i].value!="")...{sValue += "0";}}return sValue;}}//通用返回函数,验证没通过返回的效果.分三类进行取值//文本输入框,光标定位在文本输入框的末尾//单多选,第一选项取得焦点//单多下拉菜单,取得焦点function GoBack(el)...{//取得表单元素的类型var sType = el.type;switch(sType)...{case "text":case "hidden":case "password":case "file":case "textarea": el.focus();var rng = el.createTextRange(); rng.collapse(false); rng.select();case "checkbox":case "radio": var els = document.getElementsByName(el.name);els[0].focus();case "select-one":case "select-multiple":el.focus();}}//--> </ script > < form name ="form1" onsubmit ="return CheckForm(this)" > test: < input type ="text" name ="test" > 不验证 < br /> 账号: < input type ="text" check ="^S+$" warning ="账号不能为空,且不能含有空格" name ="id" > 不能为空 < br /> 密码: < input type ="password" check ="S{6,}" warning ="密码六位以上" name ="id" > 六位以上 < br /> 电话: < input type ="text" check ="^d+$" warning ="电话号码含有非法字符" name ="number" value ="" >< br /> 相片上传: < input type ="file" check ="(.*)(.jpg|.bmp)$" warning ="相片应该为JPG,BMP格式的" name ="pic" value ="1" >< br /> 出生日期: < input type ="text" check ="^d{4}-d{1,2}-d{1,2}$" warning ="日期格式2004-08-10" name ="dt" value ="" > 日期格式2007-05-20 < br /> 省份: < select name ="sel" check ="^0$" warning ="请选择所在省份" > < option value ="" > 请选择 < option value ="1" > 福建省 < option value ="2" > 湖北省 </ select > < br /> 选择你喜欢的运动: < br /> 游泳 < input type ="checkbox" name ="c" check ="^0{2,}$" warning ="请选择2项或以上" > 篮球 < input type ="checkbox" name ="c" > 足球 < input type ="checkbox" name ="c" > 排球 < input type ="checkbox" name ="c" > < br /> 你的学历:大学 < input type ="radio" name ="r" check ="^0$" warning ="请选择一项学历" > 中学 < input type ="radio" name ="r" > 小学 < input type ="radio" name ="r" > < br /> 个人介绍: < textarea name ="txts" check ="^[s|S]{20,}$" warning ="个人介绍不能为空,且不少于20字" ></ textarea > 20个字以上 < input type ="submit" > </ form >