表单验证在前端开发中基本上必不可少,久而久之写的多了,难免有厌烦的感觉。今天波波分享一个JS类库Validator,可以帮助我们大大简化表单验证的逻辑代码。
Validator类库地址:https://github.com/jaywcjlove/validator.js
使用方法:
1、引入js
- <script type="text/javascript" src="dist/validator.min.js"></script>
2、简单使用示例代码:
- <form id="example_form">
- <div>
- <label for="email">邮箱验证</label>
- <input type="email" name="email" id="email" class="form-control" placeholder="Email">
- </div>
- <div class="form-group">
- <label for="password">密码:</label>
- <input type="password" name="password" id="password" class="form-control" placeholder="输入密码">
- </div>
- <div class="form-group">
- <label for="repassword">确认密码:</label>
- <input type="repassword" name="repassword" id="repassword" class="form-control" placeholder="输入密码">
- </div>
- </form>
- <script type="text/javascript">
- var validator = new Validator('example_form',[
- {
- //name 字段
- name: 'email',
- display:"你输入的不{{email}}是合法邮箱|不能为空|太长|太短",
- // 验证条件
- rules: 'is_emil|max_length(12)'
- // rules: 'valid_email|required|max_length(12)|min_length(2)'
- },{
- name:"password",
- display:"必填",
- rules: 'required'
- },{
- name:"repassword",
- display:"密码不一致",
- rules: 'same(password)'
- }
- ],function(obj,evt){
- if(obj.errors){
- // 判断是否错误
- }
- })
- </script>
3、支持的判断类型
- name -> input 中 name 对应的值
- display -> 验证错误要提示的文字 {{这个中间是name对应的值}}
- rules -> 一个或多个规则(中间用|间隔)
- is_email -> 验证合法邮箱
- is_ip -> 验证合法 ip 地址
- is_fax -> 验证传真
- is_tel -> 验证座机
- is_phone -> 验证手机
- is_url -> 验证URL
- is_money -> 金额格式验证
- is_english -> 字母验证
- is_chinese -> 中文验证
- is_percent -> 验证百分比
- required -> 是否为必填
- max_length -> 最大字符长度
- min_length -> 最小字符长度
- same(field) -> 指定字段内容是否相同
- different(field) -> 拒绝与某个字段相等,比如登录密码与交易密码情况
- contains(field) -> 直接判断字符串是否相等
- accepted(field) -> 用于服务条款,是否同意时相当有用,不限制checkbox与radio,有可能submit button直接附带value情况
4、自定义正则验证
- {
- //name 字段
- name: 'sex',
- // 对应下面验证提示信息
- display:"请你选择性别{{sex}}|请输入数字",
- //自定义正则`regexp_num`
- regexp_num:/^[0-9]+$/,
- // 验证条件,包括应用自定义正则`regexp_num`
- rules: 'required|regexp_num'
- }
以上总结对于满足日常开发已经足够,如需高级操作,可点击GitHub地址,查看相关文档。