x
首页 前端[Javascript] 前端验证

前端验证

发表于 2012-04-13 - 浏览:3710 评论:0 收藏 0

最近项目中做的一个较全面的前端验证

检查昵称:

_nick:function(o,obj){
  var len=o.replace(/[^\x00-\xff]/g,"**").length;
  if(len<4||len>20)return 3;//长度不符合
  if(!/^[_0-9a-zA-Z\u4E00-\u9FA5']*$/.test(o))return 2;//只支持
  if(/^\d+$/.test(o))return 5;
  this.validity();//检查是否跟密码相同
  return this.exists(obj,'nick');
 },

检查手机号:
 _phone:function(o,obj){
  if(!/^1[3458]{1}[\d]{9}$/.test(o))return 2;
  this.validity();//检查是否跟密码相同
  return this.exists(obj,'phone');
 },

检查邮箱:

 _mail:function(o,obj){
  //if(!/[a-zA-Z0-9_-]{1,20}@[a-z0-9]{1,10}\.[a-zA-Z0-9_-]{1,10}/.test(o))return 2;
  if(!/\w{1,20}@[a-z0-9]{1,10}\.\w{1,10}/.test(o))return 2;
  this.validity();//检查是否跟密码相同
  return this.exists(obj,'mail');
 },

检查密码:
 _pass:function(o){
  if(o.length<6||o.length>20)return 2;
  return this.validity();
 },

确认密码:
 _pass2:function(o){
  if(G('Rpass').value!=o)return 2;
  return 10;
 },

真实姓名:
 _realname:function(o){
  if(!/^[\u4E00-\u9FA5']*$/.test(o))return 3;
  var len=o.replace(/[^\x00-\xff]/g,"**").length;
  if(len>12||len<4)return 2;
  return 10;
 },


检查QQ号: 

 _qq:function(o){
  if(!/^\d+$/.test(o))return 2;
  if(!/^\d{5,12}$/.test(o))return 3;return 10},
 _company:function(o){
  if(!/^[\u4E00-\u9FA5']*$/.test(o))return 2;
  var len=o.replace(/[^\x00-\xff]/g,"**").length;
  if(len<2||len>50)return 3;//长度不符合
  return 10;
 },
 _com_area:function(){return 10},
 _com_addr:function(o){
  if(o.replace(/\d+/,'').length==0)return 1;
  if(o.replace(/[a-zA-Z]+/,'').length==0)return 1;
  return 10
 },

检查电话(手机号,电话号码,多个以空格分隔):
 _com_tel:function(o){
  if(o.replace(/[0-9\-- ]+/,'').length>0)return 3;
  var tels = o.replace(/\s+/,' ').split(' ');//空格分隔
  for(var i=0,l=tels.length;i<l;i++){
   //如果不匹配400-000-0000 0592-1436456 18659254652
   if(!/^\d{2,4}(-|-)(\d{2,4}(-|-))?\d{4,9}$/.test(tels[i]) && !/^1[3458]{1}[\d]{9}$/.test(tels[i])){
    return 2;
   }
  }
  if(/[^0-9\-- ]+/.test(o))return 2;
  return 10;
  //if(/[\u4E00-\u9FA5']+/.test(o))return 2;
 },

检查传真
 _com_fax:function(o){if(!/^\d{2,4}-\d{5,9}$/.test(o))return 2;return 10},

 

密码强度检测:

if(opass)opass['on'+(com.isIE?'propertychange':'input')]=function(){
  var pval=this.value;
  var e=t._pass(pval);
  var len=pval.length;
  var x=1;
  var el=$('#PassLV');
  el[0].className='';
  if(len>16)this.value=this.value.substr(0,16);
  if(e==10 && len>5){
   if(/[a-z]+/.test(pval))x++;
   if(/[A-Z]+/.test(pval))x++;
   if(/[0-9]+/.test(pval))x++;
   if(/[_\-@#\$\^%\&*.;\[\]+=]+/.test(pval))x++;
   if(/^\d+$/.test(pval))x--;
   if(len>11)x++;
   $('#PassLV').addClass('lv'+Math.ceil(x/2));
  }
 }

 

 

一些相应的检查结果提示:

var words={
nick:['4-20字符,中文、英文、数字或"_"<br />例如:厦门国旅_小陈<br />可作为登录账号,注册后不能修改','请您输入昵称','仅限(中文、英文、数字及"_"),请重新输入','仅限4-20字符,请重新输入','抱歉,该昵称已被抢注,请重新输入。<a href="/login" target="_blank">已注册?</a>','请勿为纯数字,请重新输入'],
phone:['11位手机号码,例如:1398888888<br />便于同行与您联系业务<br />可作为登录账号,验证后不能修改','请输入您的手机号码','手机号码不正确,请您重新输入','','该手机号已被注册,<a href="/login" target="_blank">登录?</a>'],
code:['请您查看手机短信,请输入6位数字验证码','请您输入6位数字验证码','验证码错误,请您重新输入'],
mail:['请输入邮箱,例如:lxs@cncn.net<br />便于接收信息及密码找回<br />可作为登录账号,注册后不能修改','请输入您的邮箱','格式不正确,请重新输入','','该邮箱地址已被注册,<a href="/login" target="_blank">登录?</a>'],
pass:['6-16位,由字母、数字、符号组成<br />区分大小写<br />为了您的密码安全,请勿为纯数字或纯字母','请您输入登录密码','仅限6-20字符,请重新输入','密码不能为昵称,手机号,邮箱'],
pass2:['请再次输入相同的密码','请您再次输入密码','登录密码与确认密码不一致,请您重新输入'],
realname:['本站采取实名认证,姓名须与身份证信息一致<br />使用真实姓名便于同行找到您<br />认证后不能修改','请输入您的真实姓名','仅限2-6个汉字,请重新输入','仅限中文,请重新输入'],

qq:['请输入您的QQ号码,仅限数字,例如:111232','请您输入QQ号码','仅限数字,请重新输入','请输入有效的QQ号码'],
com_tel:['可填写多个业务号码,以空格隔开<br />例如:400-000-0000 0592-0000000<br />便于客户与您联系,将显示在您的网店首页','请输入您的业务电话','格式不正确,请您重新输入','多个号码以空格分隔,请您重新输入'],
com_fax:['区号+号码,例如:0592-0000001','请您输入公司传真','格式不正确,请您重新输入']

}

文章评论。。。