﻿//页面提交验证
//by 蓝蜘蛛
//2007-07-08 v2.0

function CheckForm(oForm)
{
//var els = oForm.getElementsByTagName("input")
var els = oForm.elements
var msg="";//错误信息
var erelm;//第一个出错的元素
var pattern = /^([a-zA-Z0-9_-]{2,6})+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; 
//遍历所有元素
for(var i=0;i<els.length;i++)
			{
				//取得格式
				var elm=els[i];
				var iCheck	= elm.getAttribute("iCheck");	
				var iMsg=elm.getAttribute("iMsg");
				//检查是否有设置iCheck参数
				if(typeof(iCheck)!="undefined"&&iCheck!=null)
				{
					switch(iCheck.toLowerCase())
					{
						case "username":
						　　pattern = /^\w{5,20}$/;
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg +"\n" + "用户名只能是5-20位数字、字母或_的组合;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
						
						case "password":
							pattern = /^\w{6,16}$/; 
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "密码只能是6-16位数字、字母或_的组合;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "password1":
							pattern = /^\w{6,16}$/; 
　　						flag = pattern.test(elm.value);
　　						var flag1 = /^\*{8}$/.test(elm.value);
　　						if (!flag && !flag1)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "密码只能是6-16位数字、字母或_的组合;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "pname":
							pattern = /^[\u4E00-\u9FA5\uF900-\uFA2D\w]+$/;
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "昵称只能为1-20个字符(包括字母、数字、中文和下划线)。"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "tname":
							pattern = /^[\u4E00-\u9FA5\uF900-\uFA2D]{2,4}$/;
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "昵称只能为1-20个字符(包括字母、数字、中文和下划线)。"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "email":
							//pattern = /^([a-zA-Z0-9_-]{2,*})@([a-zA-Z0-9_-])(\.[a-zA-Z0-9_-])/; 
							pattern =/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/
							
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "邮箱地址输入不正确;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "checkcode":
							pattern = /^\w{4}$/; 
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "验证码输入不正确;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "url":
							//pattern = /^((http[s]?)|(ftp)|(res)|(rtsp)):\/\/([\w-]+\.)+[\w-]+([\w-./?%&:=]*)?$/;
							pattern = /^[a-zA-z]+:\/\/[^\s]*$/;
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "链接地址输入不正确;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "notnull":
							pattern = /\S+/;
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "带星号(*)的为必输项;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "number":
							pattern = /^\d+$/;
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "带星号(*)的为必输项;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "money":
							pattern = /^[+|-]?[0-9]+(.[0-9]+)?$/;
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "带星号(*)的为必输项;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "word":
							pattern = /^[a-zA-Z0-9]+$/; 						　　
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "带星号(*)的为必输项;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "date":
							pattern = /^\d{4}-\d{1,2}-\d{1,2}$/; 
　　						flag = pattern.test(elm.value);
　　						if (!flag)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "带星号(*)的为必输项;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;
								
						case "mustcheck":
　　						if (!elm.checked)
　　							{
　　							if (typeof(iMsg)!="undefined"&&iMsg!=null){msg= msg + "\n" + iMsg;}else msg= msg + "\n" + "带星号(*)的为必输项;"
　　							if (typeof(erelm)=="undefined"||erelm==null) erelm=elm;//设置要激活的元素
　　							}
								break;								
								
					}
				}
			}
if (msg==""){
alert("验证通过!");
return true;}
else{
alert("错误:\n"+msg);
if (erelm!=null)
try{
erelm.focus();
}
catch(e){return false}
return false;}
}
