频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 虚拟主机  域名注册     常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> ASP教程 -> 一个很强的验证脚本

一个很强的验证脚本

作者:未知  来源:转载  发布时间:2005-7-25 21:20:12  发布人:acx

减小字体 增大字体

var Page_ValidationVer = "125";
var Page_IsValid = true;
var Page_BlockSubmit = false;
var Msg="";
///验证入口
function Page_ClientValidate()
{
var i;
for (i = 0; i < Page_Validators.length; i++) {
if(!ValidatorValidate(Page_Validators[i]))
{
MsgBox(Page_Validators[i]);
event.returnValue = false;
return false;
}
}

}
function MsgBox(val)
{
if(Msg!="")
{
Msg="(错误提示:"+Msg+")";
}
alert(ValidatorErrorMsg(val)+"\r\n"+Msg);
}
///单个验证
function ValidatorValidate(val) {
var control = ValidatorControl(val.controltovalidate);
value=ValidatorGetValue(control);
if(!MaxLength(val.MaxLength,value)) return false;
flag=true;
if(value=="")
{
control.focus();
Msg="文本框不能为空!";
return val.AllowNull=="True";
}
var dataType = val.DataType;
if(dataType=="Empty")
{
flag= true;
}
else if(dataType =="String")
{
flag = IsString(value);
}
else if(dataType =="Letter")
{
flag = IsLetter(value);
}
else if (dataType == "StringInteger") {
flag= IsStringInteger(value);
}
else if (dataType == "Integer") {
flag= IsInteger(value);
}
else if(dataType =="Chinese")
{
flag = IsChinese(value);
}
else if(dataType =="UnSignIntger")
{
flag = IsUnSignIntger(value);
}
else if(dataType == "Double") {
flag = IsDouble(value);
}
else if(dataType =="Email")
{
flag = IsEmail(value);
}
else if(dataType =="IP")
{
flag = IsIP(value);
}
else if(dataType =="Phone")
{
flag = IsPhone(value);
}
else if(dataType =="ZIP")
{
flag = IsZIP(value);
}
else if (dataType == "Currency") {
flag = IsCurrency(value);
}
else if (dataType == "Date") {
flag = IsDate(value);
}
else if(dataType =="Time")
{
flag = IsTime(value);
}
else if (dataType == "DateTime") {
flag = IsDateTime(value);
}
else
{
flag = IsOther(value);
}

if(flag==false)
{
control.focus();
}
return flag;
}
///获取验证的错误消息
function ValidatorErrorMsg(val)
{
return val.errormessage;
}
///获取控件对象
function ValidatorControl(id)
{
var control;
control = document.all[id];
return control
}
function ValidatorGetValue(control) {

if (typeof(control.value) == "string") {
return control.value;
}
if (typeof(control.tagName) == "undefined" && typeof(control.length) == "number") {
var j;
for (j=0; j < control.length; j++) {
var inner = control[j];
if (typeof(inner.value) == "string" && (inner.type != "radio" || inner.status == true)) {
return inner.value;
}
}
}
else {
return ValidatorGetValueRecursive(control);
}
return "";
}
function ValidatorGetValueRecursive(control)
{
if (typeof(control.value) == "string" && (control.type != "radio" || control.status == true)) {
return control.value;
}
var i, val;
for (i = 0; i<control.children.length; i++) {
val = ValidatorGetValueRecursive(control.children[i]);
if (val != "") return val;
}
return "";
}
function IsInteger(val)
{
reg=/^[-+]?\d*$/;
Msg="请输入阿拉伯数字!";
return Check(val,reg);
}
function IsDouble(val)
{
reg=/^[-+]?\d+(\.\d+)?$/;
Msg="请输入数字,如:5.63";
return Check(val,reg);
}
function IsEmail(val)
{
reg=/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
Msg="请输入合法的Email地址";
return Check(val,reg);
}
function IsCurrency(val)
{
reg=/^[$¥]?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/;
Msg="请输入金额,或以美元或人民币符号开头的数字,小数保留两位,如:¥1,000.00";
return Check(val,reg);
}
function IsString(val)
{
//reg=/^[a-zA-Z0-9_]+$/;
reg=/^\w+$/;
Msg="请输入规则字符串!";
return Check(val,reg);
}
function IsStringInteger(val)
{
reg=/^[a-zA-Z][0-9]+$/;
Msg="请输入首位是字母其他为数字的字符串,如:A0001";
return Check(val,reg);
}
function IsZIP(val)
{
reg=/^\d{6}$/;
Msg="请输入邮政编码,如:518000";
return Check(val,reg);
}
function IsIP(val)
{
reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
var r = val.match(reg);
Msg="请输入合法的IP地址,每段是0-255的整数!";
if(r==null) return false;
if(r[1]<256 && r[2] <256 && r[3]<256 && r[4]<256)
return true;
return false;
}
function IsPhone(val)
{
//reg=/((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}/;
reg=/^[1-9]\d{1,3}-\d{7,8}$|^[1-9]\d{9,10}$|^[1-9]\d{1,3}-\d{7,8}-\d{1,4}$/;
Msg="请输入电话号码,如755-88888888-1234!";
return Check(val,reg);
}
function IsUnSignIntger(val)
{
reg=/^\d*$/;
Msg="请输入阿拉伯数字!";
return Check(val,reg);
}
function IsLetter(val)
{
reg=/^[a-zA-Z]+$/;
Msg="请输入英文字母!";
return Check(val,reg);
}
function IsChinese(val)
{
reg=/^[\w\u00FF-\uFFFD]+$/ ///[^(!-\/)(\:-@)(\][-\'')]+$/g;
Msg="请输入字!";
return Check(val,reg);
}
function IsDate(val)
{
//reg=/([1-9][0-9]{3})-([(0|1) 0-9]{2})-([0-9]{2})/;
reg=/^(\d{4})-(\d{2})-(\d{2})$/
var r = val.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3]);
if(d.getDate()!=r[3])
{
Msg="日期格式错误!";
return false;
}
if(d.getMonth()!=r[2])
{
Msg="月份格式错误!";
return false;
}
if(d.getFullYear()!=r[1])
{
Msg="年份格式错误!";
return false;
}
return true;
}
function IsTime(val)
{
reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/
Msg="时间格式输入错误,如:12:59或15:12:00";
return Check(val,reg);
}
function IsDateTime(val)
{
if(val.length<11){Msg="日期时间长度不匹配!"; return false;}

if(IsDate(val.substring(0,10)))
{
return IsTime(val.substring(11,val.length));
}
return false;
}
function IsOther(value)
{
return true;
}
function Check(val,reg)
{
if(reg.test(val))
{
return true;
}
return false;
}
function MaxLength(maxlen,val)
{
if(maxlen==0) return true;
mylen = strlength(val);
if(mylen<=parseInt( maxlen))
{
return true;
}
Msg="输入的长度实际是"+mylen+",不能超过"+maxlen;
return false;
}
//判断字符长度 dev-club
function strlength(str)
{
var l=str.length;
var n=l
for (var i=0;i<l;i++)
{
if (str.charCodeAt(i)<0||str.charCodeAt(i)>255) n++
}
return n
}


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 注册码大全三
· 让你轻松架设FTP服务器1..
· 梦幻背景图片7
· 卡通动物图片6
· 风景图片8
· 网页制作素材-按钮素材2..
· 注册码大全九
· 让你轻松架设FTP服务器5..
· 50MB免费空间 FTP PHP M..
关注此文读者还看过
· ASP中FSO的神奇功能 - 用..
· ASP汉字转拼音函数
· Photoshop实例提高:魔幻..
· 盛大泡泡堂告腾讯QQ堂抄..
· SQL Server补丁安装常见..
· 利用ASP的文件操作实现用..
· Google:打造最聪明的中..
· Photoshop色彩调整工具 ..
· Flash MX2004入门与进阶..
· 破解文字的禁制:Aqua抓图..
· 以守为攻?Google退居幕..
· 导入大量MYSQL数据的方法..
· Flash游戏制作常用代码解..
· ADO教程:ADO Recordset..
· 你,离营销老总有多远
· 产生随机密码的函数
相关文章
· 提供几个有用的Javascript验..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
免责申明:中国建站之家(www.jz123.cn)上的所有提供下载的软件和资源
均来源于网络,为软件或程序作者提供和网友推荐收集整理而来,仅供学习
和研究使用。如有侵犯你的版权,请立即联系我们,本站将在3个工作日内删除。
粤ICP备05092265号