輕量級的JavaScript表單驗證,字符串驗證validator.js

Github: validator.jsjavascript

validator.js官網=>實例應用html

Build Status Circle CI

輕量級的JavaScript表單驗證,字符串驗證。沒有依賴,支持UMD,~3kbjava

安裝使用

模塊

在應用中引用 validator.min.js 文件git

$ npm install validator.tool --save

.js 文件中調用github

// 字符串驗證
var validator = require('validator.tool');
var v = new validator();
v.isEmail('wowohoo@qq.com');
v.isIp('192.168.23.3');
v.isFax('');

// 表單驗證
var a = new validator('example_form',[
    {...}
],function(obj,evt){
    if(obj.errors){
        // 判斷是否錯誤
    }
})

客戶端使用

在應用中引用 validator.min.js 文件npm

<script type="text/javascript" src="dist/validator.min.js"></script>

在JS中使用方法。bash

<script type="text/javascript">
  var v = new Validator();
  v.isEmail('wowohoo@qq.com');
  v.isIp('192.168.23.3');
</script>

應用在表單中的方法。ide

<form id="example_form">
    <div>
        <label for="email">郵箱驗證</label>
        <input type="email" name="email" id="email" class="form-control" placeholder="Email">
    </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 字段
        name: 'sex',
        display:"請你選擇性別{{sex}}",
        // 驗證條件
        rules: 'required'
    }
  ],function(obj,evt){
      if(obj.errors){
          // 判斷是否錯誤
      }
  })
</script>

說明文檔

new Validator(formName, option, callback)codeigniter

formName

formName 是標籤中<form> 中的 id 或者 name 的值,如上面的example_formui

option

  • name -> input 中 name 對應的值

  • display -> 驗證錯誤要提示的文字 {{這個中間是name對應的值}}

  • rules -> 一個或多個規則(中間用|間隔)

    • is_email -> 驗證合法郵箱

    • is_ip -> 驗證合法 ip 地址

    • is_fax -> 驗證傳真

    • is_tel -> 驗證座機

    • is_phone -> 驗證手機

    • is_url -> 驗證URL

    • required -> 是否爲必填

    • max_length -> 最大字符長度

    • min_length -> 最小字符長度

{
    //name 字段
    name: 'email',
    display:"你輸入的不{{email}}是合法郵箱|不能爲空|太長|過短",
    // 驗證條件
    rules: 'is_email|max_length(12)'
    // rules: 'valid_email|required|max_length(12)|min_length(2)'
}

callback

var validator = new Validator('example_form',[
    {...},{...}
],function(obj,evt){
    //obj = {
    //  callback:(error, evt, handles)
    //  errors:Array[2]
    //  fields:Object
    //  form:form#example_form
    //  handles:Object
    //  isCallback:true
    //  isEmail:(field)
    //  isFax:(field)
    //  isIp:(field)
    //  isPhone:(field)
    //  isTel:(field)
    //  isUrl:(field)
    //  maxLength:(field, length)
    //  minLength:(field, length)
    //  required:(field)
    //} 
    if(obj.errors.length>0){
        // 判斷是否錯誤
    }
})

例子

字符串驗證

var v = new Validator();
v.isEmail('wowohoo@qq.com'); // -> 驗證合法郵箱  |=> 返回布爾值
v.isIp('192.168.23.3'); // -> 驗證合法 ip 地址  |=> 返回布爾值
v.isFax(''); // -> 驗證傳真  |=> 返回布爾值
v.isPhone('13622667263'); // -> 驗證手機  |=> 返回布爾值
v.isTel('021-324234-234'); // -> 驗證座機  |=> 返回布爾值
v.isUrl('http://JSLite.io'); // -> 驗證URL  |=> 返回布爾值
v.maxLength('JSLite',12); // -> 最大長度  |=> 返回布爾值
v.minLength('JSLite',3); // -> 最小長度  |=> 返回布爾值
v.required('23'); // -> 是否爲必填(是否爲空)  |=> 返回布爾值

表單中驗證

點擊按submit按鈕驗證

var validator = new Validator('example_form',[
    {
        //name 字段
        name: 'email',
        display:"你輸入的不{{email}}是合法郵箱|不能爲空|太長|過短",
        // 驗證條件
        rules: 'is_email|max_length(12)'
        // rules: 'valid_email|required|max_length(12)|min_length(2)'
    },{
        //name 字段
        name: 'sex',
        display:"請你選擇性別{{sex}}",
        // 驗證條件
        rules: 'required'
    }
],function(obj,evt){
    if(obj.errors){
        // 判斷是否錯誤
    }
})

沒有submit驗證

var validator = new Validator('example_form',[
    {
        //name 字段
        name: 'email',
        display:"你輸入的不{{email}}是合法郵箱|不能爲空|太長|過短",
        // 驗證條件
        rules: 'is_email|max_length(12)'
        // rules: 'valid_email|required|max_length(12)|min_length(2)'
    },{
        //name 字段
        name: 'sex',
        display:"請你選擇性別{{sex}}",
        // 驗證條件
        rules: 'required'
    }
],function(obj,evt){
    if(obj.errors){
        // 判斷是否錯誤
    }
})
validator.validate()

參考

借鑑這些優秀的庫,擼出此玩意兒。

關注公衆號

圖片描述

相關文章
相關標籤/搜索