一个很流行的表单验证代码
来源:互联网 发布:状态数据采集分析报告 编辑:程序博客网 时间:2024/05/16 14:59
////////////////////////////////////////////////////////////////////////////////
//主函数
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))
{
//验证不通过,弹出提示warning
alert(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();
}
}
//check field
function CheckField(Field)
{
//是否需要验证
if(Field.check)
{
//取得验证的正则字符串
var sReg = Field.check;
//取得表单的值,用通用取值函数
var sVal = GetValue(Field);
//字符串->正则表达式,不区分大小写
var reg = new RegExp(sReg);
if(!reg.test(sVal))
{
//验证不通过,弹出提示warning
alert(Field.warning);
//该表单元素取得焦点,用通用返回函数
GoBack(Field)
return false;
}
}
return true;
}
- 一个很流行的表单验证代码
- 一个很流行的表单验证代码
- 通用的表单验证代码
- 一个常用的表单验证
- 一个表单验证的例子
- 网页表单验证代码的改进
- 触犯天条的离奇表单验证代码
- 超级强大的表单验证代码
- 简单的表单验证代码javascript实现
- 高效的表单验证js代码
- 一些常见的JS表单验证代码
- JavaScript表单字段常用的验证代码
- email表单验证的js代码
- 一个功能强大的表单验证程序
- 一个注册表单验证的js
- 一个通用的表单验证程序
- 一个通用的正则表达式表单验证
- 一个简单的JavaScript表单验证框架
- dede标签大全
- 使用zxing生成嵌图片的二维码【java】
- 如何解决DEDE文章 内容分页 竖排
- js表单验证控制代码大全
- oracle 查询本周,本月,本年数据
- 一个很流行的表单验证代码
- ASP用户登录注册代码
- 网页滚动文字特效的代码
- 滚动文字Marquee属性及参数设置
- 网页文字首尾连续滚动,无空白特效
- DEDE调用指定id的一个篇文章的信息…
- iOS本地化总结
- 织梦CMS DEDE模板调用标签大全
- 织梦5.7 文章不能上传图片的解决方…