(function($){ // 验证规则 $.fn.validationenginelanguage = function(){}; $.validationenginelanguage = { newlang:function(){ $.validationenginelanguage.allrules = { "required":{ // add your regex rules here, you can take telephone as an example "regex":"none", "alerttext":"* 此处不可空白", "alerttextcheckboxmultiple":"* 请选择一个项目", "alerttextcheckboxe":"* 该选项为必选", "alerttextdaterange":"* 日期范围不可空白" }, "daterange":{ "regex":"none", "alerttext":"* 无效的 ", "alerttext2":" 日期范围" }, "datetimerange":{ "regex":"none", "alerttext":"* 无效的 ", "alerttext2":" 时间范围" }, "minsize":{ "regex":"none", "alerttext":"* 最少 ", "alerttext2":" 个字符" }, "maxsize":{ "regex":"none", "alerttext":"* 最多 ", "alerttext2":" 个字符" }, "grouprequired":{ "regex":"none", "alerttext":"* 至少填写其中一项" }, "min":{ "regex":"none", "alerttext":"* 最小值为 " }, "max":{ "regex":"none", "alerttext":"* 最大值为 " }, "past":{ "regex":"none", "alerttext":"* 日期需在 ", "alerttext2":" 之前" }, "future":{ "regex":"none", "alerttext":"* 日期需在 ", "alerttext2":" 之后" }, "maxcheckbox":{ "regex":"none", "alerttext":"* 最多选择 ", "alerttext2":" 个项目" }, "mincheckbox":{ "regex":"none", "alerttext":"* 最少选择 ", "alerttext2":" 个项目" }, "equals":{ "regex":"none", "alerttext":"* 两次输入的密码不一致" }, "creditcard": { "regex": "none", "alerttext": "* 无效的信用卡号码" }, "phone":{ // credit:jquery.h5validate.js / orefalo "regex":/^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/, "alerttext":"* 无效的电话号码" }, "email":{ // shamelessly lifted from scott gonzalez via the bassistance validation plugin http://projects.scottsplayground.com/email_address_validation/ "regex":/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(([a-z]|\d|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])*([a-z]|\d|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])))\.)+(([a-z]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(([a-z]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])*([a-z]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])))\.?$/i, "alerttext":"* 无效的邮件地址" }, "integer":{ "regex":/^[\-\+]?\d+$/, "alerttext":"* 无效的整数" }, "number":{ // number, including positive, negative, and floating decimal. credit:orefalo "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/, "alerttext":"* 无效的数值" }, "date":{ "regex":/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/, "alerttext":"* 无效的日期,格式必需为 yyyy-mm-dd" }, "ipv4":{ "regex":/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/, "alerttext":"* 无效的 ip 地址" }, "url":{ "regex":/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(([a-z]|\d|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])*([a-z]|\d|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])))\.)+(([a-z]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(([a-z]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])*([a-z]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\ue000-\uf8ff]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i, "alerttext":"* 无效的网址" }, "onlynumbersp":{ "regex":/^[0-9\ ]+$/, "alerttext":"* 只能填写数字" }, "onlylettersp":{ "regex":/^[a-za-z\ \']+$/, "alerttext":"* 只能填写英文字母" }, "onlyletternumber":{ "regex":/^[0-9a-za-z]+$/, "alerttext":"* 只能填写数字与英文字母" }, //tls warning:homegrown not fielded "dateformat":{ "regex":/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/, "alerttext":"* 无效的日期格式" }, //tls warning:homegrown not fielded "datetimeformat":{ "regex":/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|am|pm){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|am|pm){1})$/, "alerttext":"* 无效的日期或时间格式", "alerttext2":"可接受的格式: ", "alerttext3":"mm/dd/yyyy hh:mm:ss am|pm 或 ", "alerttext4":"yyyy-mm-dd hh:mm:ss am|pm" }, /** * 正则验证规则补充 * author: ciaoca@gmail.com * date: 2013-10-12 */ "chinese":{ "regex":/^[\u4e00-\u9fa5]+$/, "alerttext":"* 只能填写中文汉字" }, "chinaid":{ /** * 2013年1月1日起第一代身份证已停用,此处仅验证 18 位的身份证号码 * 如需兼容 15 位的身份证号码,请使用宽松的 chinaidloose 规则 * /^[1-9]\d{5}[1-9]\d{3}( * ( * (0[13578]|1[02]) * (0[1-9]|[12]\d|3[01]) * )|( * (0[469]|11) * (0[1-9]|[12]\d|30) * )|( * 02 * (0[1-9]|[12]\d) * ) * )(\d{4}|\d{3}[xx])$/i */ "regex":/^[1-9]\d{5}[1-9]\d{3}(((0[13578]|1[02])(0[1-9]|[12]\d|3[0-1]))|((0[469]|11)(0[1-9]|[12]\d|30))|(02(0[1-9]|[12]\d)))(\d{4}|\d{3}[xx])$/, "alerttext":"* 无效的身份证号码" }, "chinaidloose":{ "regex":/^(\d{18}|\d{15}|\d{17}[xx])$/, "alerttext":"* 无效的身份证号码" }, "chinazip":{ "regex":/^\d{6}$/, "alerttext":"* 无效的邮政编码" }, "qq":{ "regex":/^[1-9]\d{4,10}$/, "alerttext":"* 无效的 qq 号码" } /** * 自定义公用提示信息: * 外部通过 $.validationenginelanguage.allrules.validate2fields.alerttext 可获取 * * "validate2fields": { * "alerttext": "* 请输入 hello" * }, * * * 自定义规则示例: * "requiredinfunction": { * "func": function(field,rules,i,options){ * return (field.val()=="test") ? true : false; * }, * "alerttext": "* field must equal test" * }, * * * ajax php 验证示例 * "ajaxusercallphp": { * "url": "phpajax/ajaxvalidatefielduser.php", * // you may want to pass extra data on the ajax call * "extradata": "name=eric", * // if you provide an "alerttextok", it will show as a green prompt when the field validates * "alerttextok": "* 此帐号名称可以使用", * "alerttext": "* 此名称已被其他人使用", * "alerttextload": "* 正在确认帐号名称是否有其他人使用,请稍等。" * }, * "ajaxnamecallphp": { * // remote json service location * "url": "phpajax/ajaxvalidatefieldname.php", * // error * "alerttext": "* 此名称已被其他人使用", * // speaks by itself * "alerttextload": "* 正在确认名称是否有其他人使用,请稍等。" * } */ }; } }; $.validationenginelanguage.newlang(); })(jquery);