⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form.js

📁 项目名叫网上图书馆
💻 JS
📖 第 1 页 / 共 3 页
字号:

/*====common js begin====*/


var tNow = new Date();
//声明错误信息
var aMsg = [];
aMsg[0]='';
aMsg[1]='不能为空';
aMsg[2]='太长';
aMsg['2username']='用户名太长,长度为4~18位';
aMsg['2password']='密码太长,长度为6~16位,字母区分大小写';
aMsg['2question']='提示问题太长,长度小于36位,一个汉字占两个字符';
aMsg['2myQuestion']='自定义问题太长,长度6~30位,字母区分大小写,一个汉字占两个字符';
aMsg['2answer']='问题答案太长,长度6~30位,字母区分大小写,一个汉字占两个字符';
aMsg['2pingma']='安全码太长,长度为6~16位,字母区分大小写';
aMsg['2firstname']='真实姓名太长,姓名长度请小于26位';
aMsg['2address']='通信地址太长,地址长度请小于66个字符';
aMsg['2contactnumber']='电话号码太长,请输入正确的电话';
aMsg['2zipcode']='邮政编码太长,请输入6~16位的邮政编码';
aMsg['2year'] = '请您输入正确的年份';
aMsg['2idnum'] = '请您输入6~18位的正确证件号码'
aMsg['2nickname'] = '昵称最长26个字符,一个汉字占两个字符';

aMsg[3]='太短';
aMsg['3username']='用户名太短,长度为4~18位';
aMsg['3password']='密码太短,长度为6~16位,字母区分大小写';
aMsg['3myQuestion']='自定义问题太短,长度为6~30位,字母区分大小写,一个汉字占两个字符';
aMsg['3answer']='问题答案太短,长度为6~30位,字母区分大小写,一个汉字占两个字符';
aMsg['3pingma']='安全码太短,长度为6~16位,字母区分大小写';
aMsg['3contactnumber']='电话号码太短,请输入正确的电话';
aMsg['3zipcode']='邮政编码太短,请输入6~16位的邮政编码';
aMsg['3year'] = '请您输入正确的年份';
aMsg['3idnum'] = '请您输入6~18位的正确证件号码';


aMsg[4]='不符合要求';
aMsg['4username']='不能输入特殊字符,用户名只能由不区分大小写的字母、数字、点、减号、下划线组成';
aMsg['4username_1']='用户名中不能含有空格,请您删除空格';
aMsg['4username_2']='用户名只能以字母、数字开头和结尾';
aMsg['4firstname']='请不要输入特殊字符';
aMsg['4nickname'] = '请不要输入特殊字符';
aMsg['4answer']='请输入正确的问题答案,长度6~30位。区分字母大小写,一个汉字占两个字符';
aMsg['4pingma']='安全码长度为6~16位,区分字母大小写';
aMsg['4contactnumber']='请您输入正确的电话号码';
aMsg['4zipcode']='请输入6~16位的邮政编码';
aMsg['4year'] = '请您输入正确的年份';
aMsg['4idnum'] = '证件号码的头尾不能为空格,请重新输入';
aMsg['4otppass'] = '请输入6位数字动态密码';
aMsg['4ppcpass'] = '请输入3~9位数字密码';
aMsg['4mobile'] = '请输入正确的手机号';

//aMsg[5]='已经存在,另选一个';
aMsg[5]='很遗憾,该帐号已经被注册,请您另选一个'
aMsg[6]='您两次输入不一致';
aMsg['6cpassword']= '您两次输入的登录密码不一致';
aMsg['6cpingma'] = '您两次输入的安全码不一致';
aMsg[7]='新旧密码不能相同';

aMsg[8]='太简单';
aMsg['8password']='您设置的密码太简单,容易被他人猜测到,为了保护您的帐号安全,请您重新设置';
aMsg['8pingma']='您设置的安全码太简单,容易被他人猜测到,为了保护您的帐号安全,请您重新设置';

aMsg[9]='不正确';
aMsg[10]='<i>安全程度:弱</i>';
aMsg[11]='<i>安全程度:中</i>';
aMsg[12]='<i>安全程度:强</i>';
aMsg[13]='不能和用户名相同';
aMsg[14]='不能和问题相同';
aMsg[15]='不能和旧答案相同';
aMsg[16]='不能和旧保密邮箱相同';
aMsg[17]='请选择';
aMsg[18]='未占用';
aMsg[19]='错误';
aMsg[20] = '请您输入15位或18位正确的身份证码,该号码用于保障您帐号的合法身份';
aMsg[24]='不能和密码相同';

aMsg[26]='不能和安全码相同';
aMsg[30]='尝试次数过多,请稍后再试!';
aMsg[31]='未被使用';
aMsg[32]='用户名不存在';
aMsg[33]='号码无效';
aMsg[34]='邮箱地址无效';
aMsg[35]='校验码错误';
aMsg[36]='新邮箱和原邮箱不能相同';
aMsg[37]='未开通,请换一个';
aMsg[38]='不能使用该邮箱';
aMsg[39]='密码不正确';
aMsg[40]='旧密码不正确';
aMsg[41]='答案错误';
aMsg[42]='日期无效';
aMsg[104]='恭喜,该用户名可以使用';
aMsg[1000]='系统维护,请您稍后再试!';
aMsg[1001]='系统繁忙!';
aMsg[1070]='对不起,网易通行证暂不支持注册此域下的帐号!';
/*====common js end====*/
/*====form js beign====*/
//document.domain = '163.com';
var checkFrom,pattern,existName;
var existName = '';
var _myQuestion = '我的自定义问题';
var bNameChg = false;
//表单验证调用函数
function fAction(sForm){
	Form.reset(sForm);
	var oForm = $(sForm);
	var checkFrom;
	var oInputs = Form.getElements(oForm);
	if(oForm.id!='fChginfo0'){Form.focusFirstElement(oForm);}
	for(var prop in oCheckForm.stat.options){
		oCheckForm.stat.options[prop] = true;
	}
	//reg0.shtml增加productid参数
	if(sForm == 'fReg0'){
		var domainProductPassed = getParameter(window.location.href,"productid");
		//alert("domainProductPassed is :" + domainProductPassed);
		if(domainProductPassed == "")
			domainProductPassed = "@163.com";
		else if(domainProductPassed == "popo")
			domainProductPassed = "@popo.163.com";
		var domain = $('domain');
		var i ;
		for(i = 0 ; i < domain.options.length; ++i){
				if(domain.options[i].value == domainProductPassed){
						domain.options[i].selected = true;
						break;
				}
				
		}
	}
	if(sForm=='fReg0' && oForm.suggestName){
		existName = $F('username');
		var _ii = oForm.suggestName.length;
		if(_ii){
			for(var i=0; i<_ii;i++){
				oForm.suggestName[i].onclick = function(){
					$('username').value = this.value;
					$T('username').innerHTML='';
				}
			}
		}else{
			oForm.suggestName.onclick = function(){
					$('username').value = this.value;
					$T('username').innerHTML='';
			}
		}
	}
	oInputs.each(function(oInput){
		Event.observe(oInput,'keyup',fClearTip,false);
		Event.observe(oInput,'blur',function(){
			if(oCheckForm.stat.options[oInput.id]==false){
				Element.removeClassName(oInput,'inputFocus');
				Element.addClassName(oInput,'inputError');
			}else{
				Element.removeClassName(oInput,'inputFocus');
				Element.removeClassName(oInput,'inputError');
			}
		},false);
		Event.observe(oInput,'focus',function(){
				Element.removeClassName(oInput,'inputError');
				Element.addClassName(oInput,'inputFocus');
		},false);
		var sId = oInput.id;
		switch(sId){
			case 'nickname':
				 Event.observe(sId, 'blur', fNicknameBlur, false);
			break;
			case 'username':
			  Event.observe(sId, 'blur', fUsernameBlur, false);
			  Event.observe(sId, 'change', fUsernameChange, false);
			  break;
			case 'password':
				Event.stopObserving(sId, 'keyup', fClearTip, false);
				Event.observe(sId, 'keyup', fPasswordKeyup, false);
				Event.observe(sId, 'blur', fPasswordBlur, false);
			break;
			case 'cpassword':
				Event.observe(sId, 'blur', fCpasswordBlur, false);
			break;
			case 'oldpass':
				Event.observe(sId, 'blur', fOldpassBlur, false);
			break;
			case 'province':
			case 'industry':
			case 'edulevel':
			case 'occupation':
			case 'income':
				Event.observe(sId, 'change', fClearTip, false);
			break;
			case 'question':
				if($F(sId)==_myQuestion){
					Element.addClassName('myQuestion','show');
					Event.observe('myQuestion','blur',fMyQuestionBlur,false);
				}
				Event.observe(sId, 'change', fQuestionChange, false);
				break;
			case 'answer':
				Event.observe(sId, 'blur', fAnswerBlur, false);
			break;
			case 'oldanswer':
				Event.observe(sId, 'blur', fClearTip, false);
			break;
			case 'pingma':
				Event.stopObserving(sId, 'keyup', fClearTip, false);
				Event.observe(sId, 'keyup', fPingmaKeyup, false);
				Event.observe(sId, 'blur', fPingmaBlur, false);
			break;
			case 'cpingma':
				Event.observe(sId, 'blur', fCpingmaBlur, false);
			break;
			case 'mail':
				Event.observe(sId, 'blur', fMailBlur, false);
			break;
			case 'oldmail':
				Event.observe(sId, 'blur', fOldmailBlur, false);
			break;
			case 'year':
				Event.observe(sId, 'blur', fYearBlur, false);
			break;
			case 'month':
			case 'day':
				Event.observe(sId, 'change', fDateChange, false);
			break;
			case 'idnum':
				Event.observe(sId, 'blur', fIdnumBlur, false);
			break;
			case 'inputOtherInfo':
				if($(sId).checked){$('otherInfo').className='hidden checked';}
				Event.observe(sId, 'click', fInputOtherInfoClick, false);
			break;
			case 'chgQuestion':
			case 'chgMail':
			case 'chgBirthday':
				ifChecked(sId);
				Event.observe(sId, 'click', fChgClick, false);
			break;
			case 'firstname':
				Event.observe(sId, 'blur', fFirstnameBlur, false);
			break;
			case 'male':
			case 'female':
				Event.observe(sId, 'click', fClearTip, false);
			break;
			case 'zipcode':
				Event.observe(sId, 'blur', fZipcodeBlur, false);
			break;
			case 'contactnumber':
				Event.observe(sId, 'blur', fContactnumberBlur, false);
			break;
			case 'address':
				Event.observe(sId, 'blur', fAddressBlur, false);
			break;
			case 'usePassword':
				Event.observe(sId, 'click', fUsePasswordFocus, false);
			break;
			case 'usePingma':
				Event.observe(sId, 'click', fUsePingmaFocus, false);
			break;
			case 'otppass':
				Event.observe(sId,'blur',fOtppassBlur,false);
			break;
			case 'ppcpass':
				Event.observe(sId,'blur',fPpcpassBlur,false);
			break;
			case 'refreshRandomNo':
				Event.observe(sId,'click',fRefreshRandomNoClick,false);
			break;
			case 'agree':
				Event.observe(sId,'click',fClearTip,false);
			break;
			case 'mobile':
				Event.observe(sId,'blur',fMobileBlur,false);
			break;
			//给域名选择框增加一个onChange事件
			case 'domain':
				Event.observe(sId,'change',fDomainChange,false);
		}
	});
	oForm.onsubmit = function(event){
		oInputs.each(function(oInput){
			var sId = oInput.id;
			switch(sId){
				case 'nickname':
					fNicknameCheck(event,oInput);
				break;
				case 'username':
					fUsernameCheck(event,oInput);
				break;
				case 'password':
					fPasswordBlur(event,oInput);
				break;
				case 'cpassword':
					fCpasswordBlur(event,oInput);
				break;
				case 'oldpass':
					fOldpassBlur(event,oInput);
				break;
				//case 'question':
				//	fClearTip(event,oInput);
				//break;
				case 'answer':
					fAnswerBlur(event,oInput);
				break;
				case 'pingma':
					fPingmaBlur(event,oInput);
				break;
				case 'cpingma':
					fCpingmaBlur(event,oInput);
				break;
				case 'mail':
					fMailBlur(event,oInput);
				break;
				case 'oldmail':
					fOldmailBlur(event,oInput);
				break;
				case 'year':
					fYearBlur(event,oInput);
				break;
				case 'month':
				case 'day':
					fDateChange(event,oInput);
			  break;
				case 'idnum':
					fIdnumBlur(event,oInput);
				break;
				case 'firstname':
					fFirstnameBlur(event,oInput);
				break;
				case 'zipcode':
					fZipcodeBlur(event,oInput);
				break;
				case 'contactnumber':
					fContactnumberBlur(event,oInput);
				break;
				case 'address':
					fAddressBlur(event,oInput);
				break;
				case 'otppass':
					fOtppassBlur(event,oInput);
				break;
				case 'ppcpass':
					fPpcpassBlur(event,oInput);
				break;
				case 'mobile':
					fMobileBlur(event,oInput);
				break;
			}
		});
		fConfirmSubmit(event);
		return false;
	}
}

//通用函数 begin================================================================================
function $T(obj){return $(obj).parentNode.getElementsByTagName('span')[0];}
function $Evt(event){return event||window.event;}
function $oEvt(event,obj){
	if(obj){
		if(obj.type=='hidden') return;
		oEvt = obj;
	}
	else{
		event = $Evt(event);
		if(event.keyCode==13){return;}
		oEvt = event.srcElement||event.target;
	}
	return oEvt;
}
function $fId(event){
	var oF;
	if($oEvt(event).tagName.toLowerCase()=='form'){oF = $oEvt(event);}	
	else{oF = Event.findElement($Evt(event),'form');}
	return oF.id;
}
function $Req(id){
	if($(id).className.indexOf('req')>-1){return true;}
	else{return false}
}
//通用函数 end================================================================================

//表单输入验证函数 begin================================================================================
//清除提示
function fClearTip(event,obj){
	var oEvt = $oEvt(event,obj);
	if(!oEvt || oEvt.name == "domain") return;
	var sSpan
	try{sSpan = $T(oEvt).tagName.toLowerCase();}
	catch(e){}
	if(sSpan == 'span'){checkForm = new oCheckForm.checkInput(oEvt,{});}
}
//用户名
function fUsernameCheck(event,obj){
	var oEvt = $oEvt(event,obj);
	if(!oEvt) return;
	var sF = $fId(event);
	
	pattern = /^[a-zA-Z\d]+([\w\.\-]*[a-zA-Z\d]+)?$/;
	pattern_1 = /\s+/;
	pattern_2 = /^[a-zA-Z\d]+(\S*[a-zA-Z\d]+)?$/;
	checkForm = new oCheckForm.checkInput(oEvt,{sPattern_1:pattern_1,sPattern_2:pattern_2,sPattern:pattern,iMin:4,iMax:18,sExistName:existName});
}
//昵称
function fNicknameCheck(event,obj){
	
	
	
	var oEvt = $oEvt(event,obj);
	if(!oEvt) return;
	var sF = $fId(event);
	
	checkForm = new oCheckForm.checkInput(oEvt,{iMax:26,nickname:true});
	
		
	
}

//检查昵称是否合法
function fNicknameBlur(event,obj){

	/*
	var oEvt = $oEvt(event,obj);
	if(!oEvt) return;
	var sF = $fId(event);
	
	var oNickname = $('nickname');
	alert("fNicknameBlur");
	var oC = new oCheckForm.checkInput(oNickname,{iMax:26,nickname:true});
	*/
	var oEvt = $oEvt(event,obj);
	if(!oEvt) return;
	var sF = $fId(event);
	var oNickname = $('nickname');
	fNicknameCheck(event,oNickname);
}
//验证用户名是否被占用
function fUsernameBlur(event,obj){
	if ( !bNameChg )
		return;
	bNameChg=false;
	var oEvt = $oEvt(event,obj);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -