快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

一个很强的验证脚本

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)+"rn"+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=/^[wu00FF-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
}
返回类别: 教程
上一教程: 使用ASP和WORD进行服务器端拼写检查
下一教程: 分行模块,自动识别英文和型号数

您可以阅读与"一个很强的验证脚本"相关的教程:
· 一个很简朴的验证码程序
· ASP彩色验证码图像生成脚本
· 数字和字母组合并生成图片的验证码祥解
· 一个防止外部数据提交的脚本
· 客户端脚本验证码总结
    微笑服务 优质保证 索取样品