//************************************************
//代码如下:(要注意的是,要正确使用以下函数,在表单控件里要自定义4个属性:
//checktype=“该表单控件要检查的类型,如果要求该控件必须输入中文,则为 'cn',等等“;
//dates: 日期 ,cn:中文,idnum:身份证号,num:数字,mail:email,txt:字串,notes:不论
//checkrule=“要检查的范围,如身份证号,要15-18位,则写入 '15,18' 为一个则直接写入,两个则要用逗号分隔“
//cnname=“该控件的中文name,比如'姓名' '学历'等“,用来提示。
//nul="可空:不写该参数;不可空,必填项:n"。默认为:可空。
//主要为以上四个自定义属性。
//选择时的value="0" ,如<option value="0" selected>---请选择---</option>
//使用:<form action="test.asp" method="post" name="frm_pinfo" target="_self" id="frm_pinfo" onSubmit="return CheckForm(this);">
//<input name="ptel" type="text" class="form-input-border" id="ptel" maxlength="14" checktype="num" checkrule="10,14" cnname="固定电话">
//<input name="Submit" type="submit" class="botton-style" value="提 交" checktype="notes" cnname="固定电话" >
//**checkrule只在checktype为“num”类型检查中使用
//**凡选择表单checktype皆为“notes”类型,不用检查值,只用检查是否为0
//************************************************
//规则检查排序
function RegCheck(objs)
{
var str = objs.checktype;
switch (str)
{
case "cn" : //要检查的表单控件的输入类型必须为中文
return CnWordRegCheck(objs);
break;
case "idnum" :
return IdCardRegCheck(objs); //要检查的表单控件的输入类型必须为身份证号
break;
case "num" : //要检查的表单控件的输入类型必须为数字
return NumRegCheck(objs);
break;
case "weeks" : //要检查的表单控件的输入类型必须为1-52
return weekRegCheck(objs);
break;
case "mail" : //要检查的表单控件的输入类型必须为EMAIL
return EmailRegCheck(objs);
break;
case "txt" : //要检查的表单控件的输入类型必须为字符串
return SpecialWordRegCheck(objs);
break;
case "dates" : //要检查的表单控件的输入类型必须日期
return DateRegCheck(objs);
break;
case "notes" :
return true; //要检查的表单控件的输入类型必须为什么都可以
break;
}
}
//************************************************
//检查电话号码
function NumRegCheck(obj)
{
var uplimit = obj.checkrule.split(",")[0];
var downlimit = obj.checkrule.split(",")[1];
var reg = "";
if (downlimit == null)
{
reg = eval("/^[0-9\.-]{"+uplimit+"}$/");
}
else
{
reg = eval("/^[0-9\.-]{"+uplimit+","+downlimit+"}$/");
}
var str = obj.value;
var flag = reg.test(str);
return flag;
}
//************************************************
//检查星期1-52
function weekRegCheck(obj)
{//1-9,10-49,50-52
//alert(obj.checktype);
var str = obj.value;
var reg = /^([1-9]|[1-4][0-9]|[5][0-2])$/;
var flag = reg.test(str);
return flag;
}
//************************************************
//检查身份证号
function IdCardRegCheck(obj)
{
var str = obj.value;
var reg = /^([0-9]{15}|[0-9]{18})$/;
var flag = reg.test(str);
return flag;
}
//************************************************
//检查EMAIL
function EmailRegCheck(obj)
{
var str = obj.value;
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]+){1,5})$/;
var flag = reg.test(str);
return flag;
}
//***************************************
//检查中文输入
function CnWordRegCheck(obj)
{
var str = obj.value;
var reg=/^[\u4e00-\u9fa5](\s*[\u4e00-\u9fa5])*$/;
var flag = reg.test(str);
//alert(flag);
return flag;
}
//***************************************
//检查特殊字符
function SpecialWordRegCheck(obj)
{
var reg= /[(\/)(\\](')(")(<)(>)}/g;
var str = obj.value;
var flag= reg.test(str);
flag = !flag;
return flag;
}
//***************************************
//函数名:DateWordRegCheck
//功能介绍:检查是否为日期
//参数说明:要检查的字符串
//返回值:0:不是日期 1:是日期
function DateRegCheck(obj)
{
var lthdatestr=0;
var tmpy="";
var tmpm="";
var tmpd="";//var datestr;
var status=0;
var datestr=obj.value;
if (datestr != "") lthdatestr= datestr.length; else return false;
for (var i=0;i<lthdatestr;i++){ if (datestr.charAt(i)=='-' ){status++;}}
//*********超级难:var i=0;如果去掉VAR 后遇到return true;进入整个函数的死循环。
if (status!=2) { return false;}
status=0;
for (i=0;i<lthdatestr;i++)
{
if (datestr.charAt(i)=='-' ){status++;}
if ((status==0) && (datestr.charAt(i)!='-' )){tmpy=tmpy+datestr.charAt(i)}
if ((status==1) && (datestr.charAt(i)!='-' )){tmpm=tmpm+datestr.charAt(i)}
if ((status==2) && (datestr.charAt(i)!='-' )){tmpd=tmpd+datestr.charAt(i)}
}
year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd);
if ( (tmpy.length!=4) ||(!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )||(!((year % 4)==0) && (month==2) && (day==29))||((month<=7) && ((month % 2)==0) && (day>=31))||((month>=8) && ((month % 2)==1) && (day>=31))||((month==2) && (day==30)) )
return false;
return true;
}
//***************************************
//************************************************
//检查主引导函数
function CheckForm(obj)
{
var myform = eval("document."+obj.name);
for (i=0;i<myform.elements.length;i++)
{
var formvalue = myform.elements[i].value;
//没有cnname和 checktype属性的控件,忽略检查。
if (myform.elements[i].cnname==null||myform.elements[i].checktype==null) {continue; }
//nul==null 或!=N,可空并且输入为空,则continue;
if ((myform.elements[i].nul==null||myform.elements[i].nul!="n")&&(myform.elements[i].value==""||myform.elements[i].value==0)){continue; }
//内容非空检查,长度检查
if ((myform.elements[i].value == "")||(myform.elements[i].value.length>myform.elements[i].maxlength))
{
alert("您忘了填写\""+myform.elements[i].cnname+"\"!"+"或者您填写的信息不符合规范!");
myform.elements[i].focus();
return false;
break;
}
if (myform.elements[i].value == 0)
{
alert("您忘了选择\""+myform.elements[i].cnname+"\"!");
myform.elements[i].focus();
return false;
break;
}
//数据规范化检查
var myobj = myform.elements[i];
//alert(myobj.checktype);
//break;
if (!RegCheck(myobj))
{
alert("\""+myobj.cnname+"\"输入有误,请按填写要求填写!");
myobj.focus();
return false;
break;
}
}//for
}
////////////////////----------------限制输入的数据类型-----------------------------------
//仅英文
function onlyEng()
{//alert("keycode="+event.keyCode+"");测试键码 后退 : backspace tab "-" 小键盘:"-" del 小键盘:del
if(!((event.keyCode>=65&&event.keyCode<=90)|| (event.keyCode==08|| event.keyCode==09|| event.keyCode==189 || event.keyCode==109|| event.keyCode==46|| event.keyCode==110 )))
event.returnValue=false;
}
//仅数字
function onlyNum()
{
//alert("keycode="+event.keyCode+"");//测试键码 后退 : backspace tab "-" 小键盘:"-" del . 小键盘:del 小键盘:* .
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)|| event.keyCode==08|| event.keyCode==09|| event.keyCode==189 || event.keyCode==109|| event.keyCode==46|| event.keyCode==110 || event.keyCode==106 || event.keyCode==190))
//考虑小键盘上的数字键
event.returnValue=false;
}
//是email
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("输入的email格式不对!");
}
function rplace(obj){ //难点
obj.value=obj.value.replace(/,/g,",");
/
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
c5.rar (29个子文件)
news_modact.asp 658B
news_del.asp 515B
admin_logact.asp 1KB
db
news.mdb 188KB
news_add.asp 557B
com
conn.asp 557B
admin_regist.asp 678B
admin_main.asp 2KB
news_modify.asp 2KB
images
tt2_c_1.gif 396B
flashtt.gif 173B
tt2_c_2.gif 226B
2.ani 16KB
3.ani 62KB
bg5.gif 1KB
bg3.gif 2KB
checkform.js 9KB
mycss.css 2KB
article_common.gif 169B
arrow3.gif 88B
tt2_c_5.gif 361B
1.ani 13KB
tt2_c_3.gif 487B
bg4.gif 2KB
tt2_c_4.gif 141B
NEW5.GIF 2KB
admin_login.asp 2KB
newsdetail.asp 2KB
index.asp 3KB
共 29 条
- 1
资源评论
bjash
- 粉丝: 477
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功