📄 form.js
字号:
/*====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 + -