查看: 6188|回复: 0
打印 上一主题 下一主题

通用表单验证程序

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-6 09:58:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
/*
* 通用表单验证程序 0.1
* 作者:Hellfire
* 时间:2006年4月
* 示例:
<form action="" onSubmit="return validateForm(this)">
UserName: <input name="username" depends="require" mask="^\w{6,20}$"><br>
Birthday: <input name="birthday" depends="require,date"><br>
<input type="Submit" value="Submit">
</form>
<script language="javascript">

function validateForm(theForm){
//预定义的正则表达式,可以根据自己需要修改
var reDate = /^(\d{2}|\d{4})-(([1-9])|(1[0-2]))-(([1-9])|([12]\d)|(3[01]))$/ //日期format: yyyy-M-d, yy-M-d
var reEmail = /^\w+([-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; //信箱
var reChinese = /^[\u4E00-\u9FA5]+$/; //中文
var reZipcode = /^[1-9]\d{5}$/; //邮编
var rePhone = /^\d{3}-\d{8}|\d{4}-\d{7}$/; //电话
var reMobile = /^13\d{9}$/; //手机
var reCurrency = /^\d+(\.\d{1,4})?$/; //货币
var reNumber = /^\d+$/; //数字
var reInteger = /^[-\+]?\d+$/; //整数
var reFloat = /^[-\+]?\d+(\.\d+)?$/; //小数

var aForm = theForm;
for(var i=0;i<aForm.all.length;i++){
var aElement = aForm.all;
if(aElement.tagName=="INPUT"||aElement.tagName=="TEXTAREA"){
if(aElement.depends!=null){
if(aElement.depends.search("require")>=0 && aElement.value==""){
alert("Field \"" + aElement.name + "\"" + " is required!");
aElement.focus();
return false;
} else if(aElement.value!="") {
if(aElement.depends.search("date")>=0 && !reDate.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Date!");
aElement.focus();
return false;
}
if(aElement.depends.search("email")>=0 && !reEmail.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Email!");
aElement.focus();
return false;
}
if(aElement.depends.search("chinese")>=0 && !reChinese.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Chinese!");
aElement.focus();
return false;
}
if(aElement.depends.search("zipcode")>=0 && !reZipcode.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Zipcode!");
aElement.focus();
return false;
}
if(aElement.depends.search("phone")>=0 && !rePhone.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Phone!");
aElement.focus();
return false;
}
if(aElement.depends.search("mobile")>=0 && !reMobile.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Mobile!");
aElement.focus();
return false;
}
if(aElement.depends.search("currency")>=0 && !reCurrency.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Currency!");
aElement.focus();
return false;
}
if(aElement.depends.search("number")>=0 && !reNumber.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Number!");
aElement.focus();
return false;
}
if(aElement.depends.search("integer")>=0 && !reInteger.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Integer!");
aElement.focus();
return false;
}
if(aElement.depends.search("float")>=0 && !reFloat.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match Float!");
aElement.focus();
return false;
}
}
}
if(aElement.mask!=null){
var reMask = new RegExp(aElement.mask);
if(!reMask.test(aElement.value)){
alert("Field \"" + aElement.name + "\"" + " doesn't match mask!");
aElement.focus();
return false;
}
}
}
}
return true;
}
</script>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表