日期:2014-05-16  浏览次数:20363 次

Jquery表单验证插件-JSFormChecker
本帖最后由 lanxigang 于 2013-01-28 14:01:31 编辑
用起来挺简单,需要的话可以试试
需要和Jquery一块使用


/*  JQuery.plugin : 表单数据格式验证
*   Author: Devin Lan  @ long long ago
*   API: 如下  
*   鸣谢: 感谢jQuery    
*   Example:
*   <!--需要进行数据验证Form: 
* 1、添加formCheck属性即可 
* 2、Form要求有id属性
* formCheck=
* realTime:即时验证
* onSubmit:提交表单时验证
* msgModes=
* alertMsg: alert方式显示消息
* aftInputMsg: 对应表单后面直接显示消息 
* -->
*   <form id="form1" formCheck="realTime|onSubmit" msgModes="alertMsg|aftInputMsg">  
*       <!--
* 需要验证表单元素,可以添加dataType、errorMsg、passMsg、valueFn
* 1、dataType:数据格式,枚举$.regEx或者自动以正则。可选
* 2、errorMsg:未通过验证是消息。可选
* 3、passMsg: 通过验证时的消息。可选
* 4、valueFn: 获取表单值自定义方法。可选
* 接口:string Interface(id)
* FckEditor编辑器的话请填写:$.fckValue-->
* <!--未实现:msgMethod:消息展示方法 (object o,string msg)-->
*       <input 
dataType="$.regEx|你自己的正则" 
errorMsg="<font color=red>错误消息</font>"  
passMsg="<font color=red>错误消息</font>" 
[valueFn="你自己的方法"]/>
* <textarea id="Light" name="Light" 
valueFn="$.fckValue" 
datatype="NotEmpty" 
errormsg="请填写"
* style="display: none;"></textarea>
* <!--每组radio 或者 checkbox 只需再其中一项做设置即可-->
* <input type="radio" 
dataType="NotEmpty" 
errormsg="请选择性别" name="sex"  id="sex" value="男"/>
*  <input type="radio" name="sex" id="radio2" value="女" />女
*   </form>
* Exception:
*  
* 1、Error: Error: Syntax error, unrecognized expression: #
*   原因:   form没有设置Id
*/
(function ($) {
    //常用正则表达式库 可以自己添加
    $.regEx = {
        notempty: "\\S+",
        number: "^\\d+$",
        date: "^\\d{4}-\\d{1,2}-\\d{1,2}$",
        money: "^(\\d+\\.)?\\d+$",
        //下面几个正则没有经过验证
        chinese: "\[\\u4e00-\\u9fa5\]",
        html: "<(.*)>.*<\/\1>|<(.*) \/>",
        email: "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$",
        url: "http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?",
        username: "^[a-zA-Z][a-zA-Z0-9_]{4,15}$",
        sdate: "^(?:(?!0000)[0-9]{4}(-)(?:(?:0?[1-9]|1[0-2])(-)(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])(-)(?:29|30)|(?:0?[13578]|1[02])(-)31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)(-)0?2(-)29)$",
        tel: "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?",
     &