前端验证 validform
插件来自 http://validform.rjboy.cn/document.html
<!--ajax实时验证用户名--> <input type="text" value="" name="name" datatype="e" ajaxurl="valid.php?myparam1=value1&myparam2=value2" sucmsg="用户名验证通过!" nullmsg="请输入用户名!" errormsg="请用邮箱或手机号码注册!" /> <!--密码--> <input type="password" value="" name="userpassword" datatype="*6-15" errormsg="密码范围在6~15位之间!" /> <!--确认密码--> <input type="password" value="" name="userpassword2" datatype="*" recheck="userpassword" errormsg="您两次输入的账号密码不一致!" /> <!--默认提示文字--> <textarea tip="请在这里输入您的意见。" errormsg="很感谢您花费宝贵时间给我们提供反馈,请填写有效内容!" datatype="s" altercss="gray" class="gray" name="msg" value="">请在这里输入您的意见。</textarea> <!--使用swfupload插件--> <input type="text" plugin="swfupload" class="inputxt" disabled="disabled" value=""> <input type="hidden" value="" pluginhidden="swfupload"> <!--使用passwordStrength插件--> <input type="password" errormsg="密码至少6个字符,最多18个字符!" datatype="*6-18" plugin="passwordStrength" class="inputxt" name="password" value=""> <div class="passwordStrength" style="display:none;"><b>密码强度:</b> <span>弱</span><span>中</span><span class="last">强</span></div> <!--使用DatePicker插件--> <input type="text" plugin="datepicker" class="inputxt" name="birthday" value="">
内置基本的datatype类型有: * | *6-16 | n | n6-16 | s | s6-18 | p | m | e | url
*:检测是否有输入,可以输入任何字符,不留空即可通过验证;
*6-16:检测是否为6到16位任意字符;
n:数字类型;
n6-16:6到16位数字;
s:字符串类型;
s6-18:6到18位字符串;
p:验证是否为邮政编码;
m:手机号码格式;
e:email格式;
url:验证字符串是否为网址。
自定义datatype的名称,可以由字母、数字、下划线、中划线和*号组成。
形如"*6-16"的datatype,Validform会自动扩展,可以指定任意的数值范围。如内置基本类型有"*6-16",那么你绑定datatype="*4-12"就表示4到12位任意字符。如果你自定义了一个datatype="zh2-4",表示2到4位中文字符,那么datatype="zh2-6"就表示2到6位中文字符。
5.2版本之后,datatype支持规则累加或单选。用","分隔表示规则累加;用"|"分隔表示规则多选一,即只要符合其中一个规则就可以通过验证,绑定的规则会依次验证,只要验证通过,后面的规则就会忽略不再比较。如绑定datatype="m|e",表示既可以填写手机号码,也能填写邮箱地址,如果知道填入的是手机号码,那么就不会再检测他是不是邮箱地址;datatype="zh,s2-4",表示要符合自定义类型"zh",也要符合规则"s2-4"。
//需要引用的文件
<link rel="stylesheet" type="text/css" href="bootstrap3/css/bootstrap.css"> <link rel="stylesheet" type="text/css" href="Validform/css/style.css"> <script type="text/javascript" src="jquery-1.9.1.min.js"></script> <script type="text/javascript" src="Validform/js/Validform_v5.3.2.js"></script> <style type="text/css">
body{
background: #fff;
}
.form-control{ width: 300px; float: left; } .col-sm-10{ height: 34px; line-height: 34px; } </style> <script type="text/javascript"> $(function(){ // $(".registerform").Validform(); var demo=$(".registerform").Validform({ tiptype:3, label:".label", showAllError:true, datatype: { "zh1-6": /^[\u4E00-\u9FA5\uf900-\ufa2d]{1,6}$/ }, ajaxPost:true });
<input type="text" value="" class="inputxt" name="mobile" datatype="m|e" errormsg="账号可以是手机或邮箱地址!" /> <input type="password" value="" class="inputxt" name="repassword" recheck="password" datatype="*6-18" errormsg="您两次输入的密码不一致!" /> <input type="password" value="" class="inputxt" name="password" datatype="oldpassword,*6-18" errormsg="请设置新密码(6-18位字符)!" /> $(".registerform").Validform({ tiptype:2, datatype:{ "zh1-6" : /^[\u4E00-\u9FA5\uf900-\ufa2d]{1,6}$/ oldpassword:function(gets){ if(gets==$("#passwordold").val()){ return "新密码不能与旧密码一致!"; } } }, ajaxPost:true });
-------------------------------------
datatype:"zh2-4" //2-4个汉字
datatype:"*6-20", //密码6到20个
datatype="m" //电话号码验证
datatype="e" //邮箱格式验证
errormsg = “ ” //验证错误提示
nullmsg = “” //为空的提示
datatype="s6-18" //昵称至少6个字符,最多18个字符
recheck 的值是它要对比的字段值
用","分隔表示规则累加
用"|"分隔表示规则多选一
datatype可以是正则,也可以是function函数
tiptype 可以为1、2 和 自定义函数。2 表示右侧提示。
tiptype为 2 时,各表单元素对应显示提示信息的对象,是在当前元素的父级的 next() 的子级中查找的