设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> ASP技术 >> ASP技巧 >> 正文
最新信息
·ASP防止采集的代码
·文字防复制乱码
·关于ASP中的UTF8编码
·ASP精典之常用函数收集
·用正则式除去HTML标记
·ASP国际化多语言详细方案
·改进 ASP 的字符串处理性能
·ASP缓存技术
·巧用ASP技术保护DHTML源代…
·ASP读取系统时区的错误行为…
资料搜索
热点信息
·删除数组中的重复元素
·ASP中转换unicode码为GB码…
·asp得到当前页地址
·关于ASP中的UTF8编码
·判断上一页的来源
·Asp中有关字符编码转换的几…
·用正则式除去HTML标记
·ASP 三十二条精华代码
·动检测上传文件是否含有非…
·常用过滤函数
推荐信息
·ASP 三十二条精华代码
·ASP中转换unicode码为GB码…
·如何拒绝同一张表单被多次…
·常用过滤函数
·常用asp代码
·Asp中有关字符编码转换的几…
·获得上一个月几月
·计算文件下载时间
·三条语句搞定路径
·判断上一页的来源


Google
 
一个很强的验证脚本
〖编辑:Cloudy | 浏览:人次〗

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
}


录入时间:2006-08-18 16:31:06 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号