5、身份证验证:包括15位和18位。
function idNumber(s)//身份证验证
{
regu1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//15wei
发膜使用方法regu2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;//18wei
re1=new RegExp(regu1);
re2=new RegExp(regu2);
if(!(st(s)||st(s)))
{
}
el
{
}
// alert("请正确填写18位或15位身份证号码");
}
6、手机号码验证:13和15开头的号码。
function isMobileNO(s)//手机验证
{
var a = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15\d{9}$/ ;
if( !s.match(a) )
{
// alert("手机号码格式不对");
}
el
{
}
}
7、各表单域提示信息,获得焦点验证。
function displayInform(s)//注册信息规则提示信息(获得焦点验证)
{
if(s=="ur")
if(s=="password")
if(s=="passwordC")
if(s=="idCard")
if(s=="mobileNO")
if(s=="email")
}
8、表单提交验证:先对必填项进行非空验证,再进行匹配验证。
function submitValidator() //提交验证
{
ElementById("control").style.display=="inline")
{
if((ElementById ("ur").value=="")||(ElementById("password").value=="")||(ElementById("passwordC").value=="")||(ElementById("answer").value=="")||(ElementById("question").value==""))
{
alert("必填项不能为空!");
return fal;
}
el
{
if((ElementById ("ur").value).match(/^[0-9a-zA-Z]{4,16}$/)&&(ElementById("password").value).match(/^[a-zA-Z][0-9a-zA-Z_]{5,15}$/)&&
(ElementById ("password").LowerCa()==ElementById ("passwordC").LowerCa()))
{return true;}
el
{alert("输入格式不对");return fal;}
}
}
el
{
if((ElementById ("ur").value=="")||(ElementById("password").value=="")||(ElementById("passwordC").value=="")||(ElementById("answer").value==""))
{
alert("必填项不能为空!");
return fal;
}
el
{
if((ElementById ("ur").value).match(/^[0-9a-zA-Z]{4,16}$/)&&(ElementById("password").value).match(/^[a-zA-Z][0-9a-zA-Z_]{5,15}$/)&&
(ElementById ("password").LowerCa()==ElementById ("passwordC").LowerCa()))
{return true;}
el
{alert("输入格式不对");return fal;}
}
}
本文来自CSDN博客,转载请标明出处:blog.csdn/diershi/archive/2009/04/16/4084981.aspx
JS表单验证
教学交流<script language="JavaScript">
/*
*--------------- 客户端表单通用验证CheckForm(oForm) -----------------
* 功能:通用验证所有的表单元素.
* 使用:
* <form name="form1" onsubmit="return CheckForm(this)">
* <input type="text" name="id" check="^\S+$" warning="id不能为空,且不能含有空格"/>
* <input type="submit"/>
* </form>
* author:wanghr100(灰豆宝宝)
* email:
* update:19:28 2004-8-23
* 注意:写正则表达式时一定要小心.不要让"有心人"有空子钻.
* 已实现功能:生日感谢妈妈的话
* 对text,password,hidden,file,textarea,lect,radio,checkbox进行合法性验证
* 待实现功能:把正则表式写成个库.
*--------------- 客户端表单通用验证CheckForm(oForm) -----------------
*/
////////////////////////////////////////////////////////////////////////////////
//主函数
function CheckForm(oForm)
{
个人所得税计算方法var els = oForm.elements;
//遍历所有表元素
for(var i=0;i<els .length;i++)
{
//是否需要验证
if(els.check)
{
//取得验证的正则字符串
var sReg = els.check;
//取得表单的值,用通用取值函数
var sVal = GetValue(els);
/
/字符串->正则表达式,不区分大小写
var reg = new RegExp(sReg,"i");
if(!st(sVal))
{
//验证不通过,弹出提示warning
alert(els.warning);
//该表单元素取得焦点,用通用返回函数
GoBack(els)
return fal;
}
}
}
}
//通用取值函数分三类进行取值
//文本输入框,直接取值el.value
//单多选,遍历所有选项取得被选中的个数返回结果"00"表示选中两个
//单多下拉菜单,遍历所有选项取得被选中的个数返回结果"0"表示选中一个
function GetValue(el)
{
//取得表单元素的类型
var sType = el.type;
switch(sType)
{
ca "text":
ca "hidden":
ca "password":
ca "file":
ca "textarea": return el.value;
ca "checkbox":
ca "radio": return GetValueChoo(el);
ca "lect-one":
ca "lect-multiple": return GetValueSel(el);
}
/
/取得radio,checkbox的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
function GetValueChoo(el)
{
var sValue = "";
//取得第一个元素的name,搜索这个元素组
var tmpels = ElementsByName(el.name);
舅舅生日祝福语for(var i=0;i<tmpels .length;i++)
{
if(tmpels.checked)
{
sValue += "0";
}
}
return sValue;
}
//取得lect的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
function GetValueSel(el)
{
var sValue = "";
for(var i=0;i<el.options.length;i++)
{
//单选下拉框提示选项设置为value=""
if(el.options.lected && el.options.value!="")
{
sValue += "0";
懒人做饭}
}
return sValue;
}
}
//通用返回函数,验证没通过返回的效果.分三类进行取值
//文本输入框,光标定位在文本输入框的末尾
//单多选,第一选项取得焦点
/
/单多下拉菜单,取得焦点
function GoBack(el)
{
//取得表单元素的类型
var sType = el.type;
switch(sType)
{
ca "text":
ca "hidden":
ca "password":
ca "file":
ca "textarea": el.focus();var rng = el.createTextRange(); llap(fal); rng.lect();
ca "checkbox":
ca "radio": var els = ElementsB
yName(el.name);els[0].focus();
ca "lect-one":
ca "lect-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=""/>日期格式2004-08-10<br />
省份:
<lect name="l" check="^0$" warning="请选择所在省份">
<option value="">请选择
</option><option value="1">福建省
</option><option value="2">湖北省
</option></lect>
<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>
---------------------------------------------
Javascript表单编程
对form元素进行脚本编写
获取表单的引用
var oForm = document.forms[0]; //得到第一个表单
var oOtherForm = document.forms["formz"] //得到名为formz的表单
访问表单字段
var oTextbox1 = box1; //得到名为"textbox"的字段
var oTextbox1 = oForm["text box 1"] //得到名为"text box 1"的字段
表单字段共性
var oField 1 = oForm.elements[0];
oField1.focus(); //设置焦点到第二个字段
获得焦点:document.forms[0].name1.focus();
表单提交
使用图片进行提交
春雨的声音<input type="image" src="submit.gif" />
使用submit进行提交
<input type="submit" value="submit" />
表单重置
<input type="button" value="Ret" onclick="document.forms[0].ret()">
对文本框进行脚本编写
获取/更改文本框的值
选择文本
<input type="button" value="选择文本" onclick="lectText()">
文本框事件
<input type="text" name="textbox1" value="" onlect="alert('lect')" />
自动选择文本
<input type="text" onfocus="this.lect()" />
<textarea onfocus="this.lect()"></textarea>
对列表框和组合框进行脚本编写
访问选项
获取/更改选中项
添加选项
var ListUtil = new Object();
ListUtil.add = function(oListbox, sName, sValue){option.ateTextNode(sName));}
删除选项
var oListbox = ElementsById("lListbox");
移动选项
重新排序选项
对复选框和单选框进行脚本编写
得到单选框的值
<input type="radio" id="male" name="gender" value="male">男</input>
得到复选框的值
表单验证
使用submit事件在错误发生之后捕获错误
使用change事件在错误发生时捕获
使用keypress事件在错误发生之前捕获错误
表单效验最佳实践
必须对用户有帮助
不要让人讨厌
只要有可能,就用HTML功能代替javascript
一次显示所有错误
早点捕获错误
如果拿不准,就不要太严格
------------------------------------------------代码实例:
<script type="text/javascript">
/
/function validate(){
// var ur = ElementById("ur");
// ur.disabled="true"; //表示不可用
// ur.focus(); //得到焦点
// onfocus="validate();" //当某个文本框得到焦点时触发
// onblur="validate()" //当某个文本框失去焦点时触发
///}
//获取表单的四种方式
//function validate(){
//var form1 = ElementById("form1");
//var form = document.forms[0];
/
/var form = document.forms["form1"];
//var form = document.form1;
//alert(form==form1)
//获取表单中的元素
//var a = form1.ur;
//var a = form1.elements[0];
//var a = form1.elements["ur"];
//alert(a.value)
//表单提交
//form1.submit();
//}
/
/获取单选框的值
// function validate(){
// var form1 = ElementById("form1");
//var ur = form1.ur;
//ur.focus();
//ur.lect(); //选中文本框的内容
//var rName = ElementsByName("radioName");
// var a = form1.radioName;
// for(var i=0;i<a.length;i++){
// if(a[i].checked){
// alert(a[i].value)
/
/ }
// }
//}
//获取复选框的值
/** function validate(){
var form1 = ElementById("form1");
var check = form1.checkName;
for(var i=0;i<check.length;i++){
if(check[i].checked){
alert(check[i].value)
}
}
}**/
function validate(){
}
//onchange事件
function chage(){
var ur = ElementById("ur");
if(ur.value==""){
ur.focus();
return fal;
}el{