📄 validate.js
字号:
//=====================.net客户段验证2.01修正版===========================
//
//
// '''
// (0 0)
// +-----oOO----(_)------------+
// | |
// | 作者:高处不胜寒 |
// | QQ:28767360 |
// | |
// +------------------oOO------+
// |__|__|
// || ||
// ooO Ooo
//===========================================================
function fob(n, d)
{
var p,i,x;if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length)
{
d=parent.frames[n.substring(p+1)].document;
n=n.substring(0,p);
}
if(!(x=d[n])&&d.all)
x=d.all[n];
for (i=0;!x&&i<d.forms.length;i++)
x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++)
x=fob(n,d.layers[i].document);
return x;
}
function cb()
{
var a=cb.arguments;
var name=fob(a[0]);
e=document.forms(0).elements;
if (name.checked==true)
{
for (i=0;i<e.length;i++)
{
e[i].checked=true;
}
}
else
{
for (i=0;i<e.length;i++)
{
e[i].checked=false;
}
}
}
function vdf()
{
var i,j,name,value,message,length,type,a=vdf.arguments,cb_name;
for (i=0; i<(a.length-2); i+=3)
{
if (a[i].indexOf('#')!=-1)
{
name=fob(a[i].substr(0,a[i].indexOf('#')));
cb_name=fob(a[i].substr((a[i].indexOf('#')+1),a[i].length));
}
else
{
name=fob(a[i]); // 控件名称
}
message=a[i+1]; // 提示信息
type=a[i+2]; // 类型
if (type!="r_time")
{
value=name.value.replace(/ +/g, ""); // 控件值
}
else
{
value=name.value;
}
if (name)
{
// ===============判断复选框是否选中================ //
if (type=="r_cb")
{
e=document.forms(0).elements;
var flag=false;
for (i=0;i<e.length;i++)
{
if (e[i]!=cb_name)
{
if (e[i].checked==true)
{
flag=true;
break;
}
}
if (i==e.length-1)
{
break;
}
}
if (flag==false)
{
alert(message+"!\n"); //为空时出现的提示
return false;
}
}
// ===============判断下拉框是否选择================ //
if (type=="r_sl")
{
if (name.selected==false)
{
alert(message+"!\n"); //为空时出现的提示
return false;
}
}
// ===============不能为空的判断================ //
if (type=="r")
{
if (value=="") // 判断是否为空
{
alert(message+"!\n"); //为空时出现的提示
name.focus();
name.select();
return false;
}
}
// ===============不能为空的判断,但不获得焦点================ //
if (type=="o_r")
{
if (value=="") // 判断是否为空
{
alert(message+"!\n"); //为空时出现的提示
return false;
}
}
// ===============只能输入中文================ //
if (type=="r_china")
{
if (value.search(/^[\u4e00-\u9fa5]+$/)==-1)
{
alert(message+"!\n"); // 判断不能为空
name.focus();
name.select();
return false;
}
}
// ===============只能输入数字或者字母================ //
if (type=="r_num_char")
{
if (value=="")
{
alert(message+"!\n"); //为空时出现的提示
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9a-zA-Z]+$/)==-1)
{
alert(message+"!\n"); //为空时出现的提示
name.focus();
name.select();
return false;
}
}
// ===============可以为空,不为空时,填数字================ //
if (type=="num")
{
if (value.search(/^[0-9]+$/)==-1 && value!="")
{
alert(message+"!\n"); // 判断不能为空
name.focus();
name.select();
return false;
}
}
// ===============只能输入数字================ //
if (type=="r_num")
{
if (value=="")
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1)
{
alert(message+"!\n"); // 判断不能为空
name.focus();
name.select();
return false;
}
}
// ===============只能输入小于等于n位长度数字================ //
if (type.indexOf("r_num<")!=-1)
{
length=type.substring((type.indexOf('<')+1),type.length); // 获得rn<后面的数
if (value=="") // 为空做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.length>length) // 限制数字长度做的限制
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}
// ===============只能输入大于等于n位长度数字================ //
if (type.indexOf("r_num>")!=-1)
{
length=type.substring((type.indexOf('>')+1),type.length); // 获得rn>后面的数
if (value=="") // 为空做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.length<length) // 限制数字长度做的限制
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}
// ===============必须输入a-b位之间的数字================ //
if (type.indexOf("r_num#<>")!=-1)
{
length=type.substr((type.indexOf('>')+1),type.length);
length=length.substr(0,length.lastIndexOf("-"));
length1=type.substring((type.indexOf('-')+1),type.length) // 获得rn<后面的数
if (value=="") // 为空做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.length<length || value.length>length1) // 限制数字长度做的限制
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}
// ===============判断email,不一定输入================ //
if (type.indexOf("email")!=-1)
{
if (name.value!="")
{
if (value.search(/^[_\.a-z0-9]+@[a-z0-9]+[\.][a-z0-9]{2,}$/i)==-1)
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}
}
// ===============判断email,一定输入================ //
if (type.indexOf("r_email")!=-1)
{
if (name.value=="")
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[_\.a-z0-9]+@[a-z0-9]+[\.][a-z0-9]{2,}$/i)==-1)
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}
// ===============判断日期,比如2000-12-20================ //
if (type=="r_date")
{
flag=true;
getdate=value;
if (getdate.search(/^[0-9]{4}-(0[1-9]|[1-9]|1[0-2])-((0[1-9]|[1-9])|1[0-9]|2[0-9]|3[0-1])$/)==-1) // 判断输入格式时候正确
{
flag=false;
}
else
{
var year=getdate.substr(0,getdate.indexOf('-')) // 获得年
// 下面操作获得月份
var transition_month=getdate.substr(0,getdate.lastIndexOf('-'));
var month=transition_month.substr(transition_month.lastIndexOf('-')+1,transition_month.length);
if (month.indexOf('0')==0)
{
month=month.substr(1,month.length);
}
// 下面操作获得日期
var day=getdate.substr(getdate.lastIndexOf('-')+1,getdate.length);
if (day.indexOf('0')==0)
{
day=day.substr(1,day.length);
}
//alert(month);
//alert(day)
//return false;
if ((month==4 || month==6 || month==9 || month==11) && (day>30)) // 4,6,9,11月份日期不能超过30
{
flag=false;
}
if (month==2) // 判断2月份
{
if (LeapYear(year))
{
if (day>29 || day<1){ flag=false; }
}
else
{
if (day>28 || day<1){flag=false; }
}
}
else
{
flag=true;
}
}
if (flag==false)
{
alert(message+"!\n"); //为空时出现的提示
name.focus();
name.select();
return false;
}
}
// ===============判断日期,比如2000-12-20================ //
if (type=="r_time")
{
flag=true;
getdate=value;
if (getdate.search(/^[0-9]{4}-(0[1-9]|[1-9]|1[0-2])-((0[1-9]|[1-9])|1[0-9]|2[0-9]|3[0-1]) ((0[1-9]|[1-9])|1[0-9]|2[0-4]):((0[1-9]|[1-9])|[1-5][0-9]):((0[1-9]|[1-9])|[1-5][0-9])$/)==-1) // 判断输入格式时候正确
{
flag=false;
}
else
{
var year=getdate.substr(0,getdate.indexOf('-')) // 获得年
// 下面操作获得月份
var transition_month=getdate.substr(0,getdate.lastIndexOf('-'));
var month=transition_month.substr(transition_month.lastIndexOf('-')+1,transition_month.length);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -