日期:2014-05-16 浏览次数:20363 次
/* 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+)?",
&