关于 formValidator 的一点说明,来自网络和手册

一个例子:

  $(document).ready(function() {
           
var erro = false;
$.formValidator.initConfig({ formid:
"m", onerror: function(msg) { alert("校验没有通过,具体错误请看错误提示"); erro = false; }, onsuccess: function() { erro = true; return true; } });
  $(
"#uname").formValidator({ onshow: "请输入用户", onfocus: "·由<em>字母a~z</em>(不区分大小写)、<em>数字0~9</em>、<em>点</em>、<em>减号</em>或<em>下划线</em>组成<br />"
             
+ "·只能以<em>数字</em>或<em>字母</em>开头和结尾,例如:beijing.2008<br />"
             
+ "·用户名长度为<em>4~18</em>个字符", oncorrect: "该用户名可以注册"
            })
              .regexValidator({ regexp:
"notempty", datatype: "enum", onerror: "输入不能为空或空格" })
              .inputValidator({ min:
4, max: 18, onerror: "用户名长度为4~18个字符" })
              .regexValidator({ regexp:
"^[A-Za-z0-9]{1}[A-Za-z0-9._-]{0,15}[A-Za-z0-9]{1}$", onerror: "只能以字母或数字为开头结尾.中间可以有减号下划线点组成" })
              .ajaxValidator({
                  type:
"get",
                  url:
"ashx/shopzc.ashx?tj=0",
                  datatype:
"json",
                  success:
function(data) {
                     
if (data == "1") {
                         
return true;
                      }
                     
else {
                         
return false;
                      }

                  },
                  error:
function() { alert("服务器没有返回数据,可能服务器忙,也可能是非法注册.请重试"); },
                  onerror:
"该用户名不可用,请更换用户名",
                  onwait:
"正在对用户名进行合法性校验,请稍候..."
              });
            $(
"#pwd").formValidator({ onshow: "请输入密码", onfocus: "·由<em>字母a~z</em>(区分大小写)、<em>数字0~9</em>、<em>点</em>、<em>减号</em>或<em>下划线</em>组成<br />"
              
+ "·密码长度为<em>6~16</em>个字符", oncorrect: "密码合法"
            })
               .inputValidator({ min:
6, max: 16, empty: { leftempty: false, rightempty: false, emptyerror: "密码两边不能有空符号" }, onerror: "密码位数不符合要求" })
               .regexValidator({ regexp:
"[A-Za-z0-9._-]{6,16}", onerror: "含有非法字符" })
      $(
"#Button1").click(function() {
              

               
if (erro == true) {

                    $.ajax({
                        type:
"post",
                        url:
"ashx/shopzc.ashx",

                        data:
"tj=1&uname=" + $("#uname").val()
                   
+ "&answer=" + $("#answer").val() + "&youname=" + $("#youname").val()
                    ,
                        error:
function() { alert("dfs") },
                        success:
function(xml) {
                            alert(xml);

                        }
/*success end*/
                    })
/*ajax end*/
                }
            })
/*zc_tj end*/
        });

    
</script>

 

 

关于配对的正则表达式有:

var regexEnum =
{
 intege:"^-?[1-9]//d*$",     //整数
 intege1:"^[1-9]//d*$",     //正整数
 intege2:"^-[1-9]//d*$",     //负整数
 num:"^([+-]?)//d*//.?//d+$",   //数字
 num1:"^[1-9]//d*|0$",     //正数(正整数 + 0)
 num2:"^-[1-9]//d*|0$",     //负数(负整数 + 0)
 decmal:"^([+-]?)//d*//.//d+$",   //浮点数
 decmal1:"^[1-9]//d*.//d*|0.//d*[1-9]//d*$",   //正浮点数
 decmal2:"^-([1-9]//d*.//d*|0.//d*[1-9]//d*)$",  //负浮点数
 decmal3:"^-?([1-9]//d*.//d*|0.//d*[1-9]//d*|0?.0+|0)$",  //浮点数
 decmal4:"^[1-9]//d*.//d*|0.//d*[1-9]//d*|0?.0+|0$",   //非负浮点数(正浮点数 + 0)
 decmal5:"^(-([1-9]//d*.//d*|0.//d*[1-9]//d*))|0?.0+|0$",  //非正浮点数(负浮点数 + 0)

 email:"^//w+((-//w+)|(//.//w+))*//@[A-Za-z0-9]+((//.|-)[A-Za-z0-9]+)*//.[A-Za-z0-9]+$", //邮件
 color:"^[a-fA-F0-9]{6}$",    //颜色
 url:"^http[s]?://([//w-]+//.)+[//w-]+([//w-./?%&=]*)?$", //url
 chinese:"^[//u4E00-//u9FA5//uF900-//uFA2D]+$",     //仅中文
 ascii:"^[//x00-//xFF]+$",    //仅ACSII字符
 zipcode:"^//d{6}$",      //邮编
 mobile:"^(13|15)[0-9]{9}$",    //手机
 ip4:"^(25[0-5]|2[0-4]//d|[0-1]//d{2}|[1-9]?//d)//.(25[0-5]|2[0-4]//d|[0-1]//d{2}|[1-9]?//d)//.(25[0-5]|2[0-4]//d|[0-1]//d{2}|[1-9]?//d)//.(25[0-5]|2[0-4]//d|[0-1]//d{2}|[1-9]?//d)$", //ip地址
 notempty:"^//S+$",      //非空
 picture:"(.*)//.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$", //图片
 rar:"(.*)//.(rar|zip|7zip|tgz)$",        //压缩文件
 date:"^//d{4}(//-|///|/.)//d{1,2}//1//d{1,2}$",     //日期
 qq:"^[1-9]*[1-9][0-9]*$",    //QQ号码
 tel:"^(([0//+]//d{2,3}-)?(0//d{2,3})-)?(//d{7,8})(-(//d{3,}))?$", //电话号码的函数(包括验证国内区号,国际区号,分机号)
 username:"^//w+$",      //用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
 letter:"^[A-Za-z]+$",     //字母
 letter_u:"^[A-Z]+$",     //大写字母
 letter_l:"^[a-z]+$",     //小写字母
 idcard:"^[1-9]([0-9]{14}|[0-9]{17})$" //身份证
}

var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}

function isCardID(sId){
 var iSum=0 ;
 var info="" ;
 if(!/^/d{17}(/d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误";
 sId=sId.replace(/x$/i,"a");
 if(aCity[parseInt(sId.substr(0,2))]==null) return "你的身份证地区非法";
 sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
 var d=new Date(sBirthday.replace(/-/g,"/")) ;
 if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法";
 for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
 if(iSum%11!=1) return "你输入的身份证号非法";
 return true;//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}

 


//短时间,形如 (13:04:06)
function isTime(str)
{
 var a = str.match(/^(/d{1,2})(:)?(/d{1,2})/2(/d{1,2})$/);
 if (a == null) {return false}
 if (a[1]>24 || a[3]>60 || a[4]>60)
 {
  return false;
 }
 return true;
}

//短日期,形如 (2003-12-05)
function isDate(str)
{
 var r = str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/);
 if(r==null)return false;
 var d= new Date(r[1], r[3]-1, r[4]);
 return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

//长时间,形如 (2003-12-05 13:04:06)
function isDateTime(str)
{
 var reg = /^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/;
 var r = str.match(reg);
 if(r==null) return false;
 var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
 return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值