function easyuiValidate(){
//扩展easyui的validator插件rules,支持更多类型验证
/**
* auther by God'Son
*
* date : 2010 - 11 -29
*/
$.extend($.fn.validatebox.methods, {
remove: function(jq, newposition){
return jq.each(function(){
$(this).removeClass("validatebox-text validatebox-invalid").unbind('focus').unbind('blur');
});
},
reduce: function(jq, newposition){
return jq.each(function(){
var opt = $(this).data().validatebox.options;
$(this).addClass("validatebox-text").validatebox(opt);
});
}
});
$.extend($.fn.validatebox.defaults.rules, {
minLength : { // 判断最小长度
validator : function(value, param) {
return value.length >= param[0];
},
message : '最少输入 {0} 个字符。'
},
fixedLength : { // 判断最小长度
validator : function(value, param) {
return value.length == param[0];
},
message : 'xxx长度为 {0} 个字符。'
},
length:{validator:function(value,param){
var len=$.trim(value).length;
return len>=param[0]&&len<=param[1];
},
message:"输入内容长度必须介于{0}和{1}之间."
},
maxLength:{validator:function(value,param){
var len=value.length;
if(len>=param[0]){
value=value.substring(0,param[0]);
}
return len<param[0];
},
message:"输入内容长度最大为{0}."
},
phone : {// 验证电话号码
validator : function(value) {
return /^0\d{2,4}-?\d{7,8}$/i.test(value);
},
message : '请输入有效的固定电话(如:029-88888888)'
},
mobile : {// 验证手机号码
validator : function(value) {
return value==null?null:/^(13|15|18)\d{9}$/i.test(value);
},
message : '手机号码为11位数字'
},
bankAccount : {
validator : function(value) {
return /^(95599|998801|998802|622525|622526|435744|435745|483536|528020|526855|622156|622155|356869|531659|622157|627066|627067|627068|627069)\d{10,13}$/i.test(value);
},
message : '银行账号格式不正确'
},
idcard : {// 验证身份证
validator : function(value) {
return value==null?null:/^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
},
message : '请输入有效的身份证号码'
},
intOrFloat : {// 验证整数或小数
validator : function(value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message : '请输入数字,并确保格式正确'
},
currency : {// 验证货币
validator : function(value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message : '货币格式不正确'
},
qq : {// 验证QQ,从10000开始
validator : function(value) {
return /^[1-9]\d{4,9}$/i.test(value);
},
message : 'QQ号码格式不正确'
},
integer : {// 验证整数
validator : function(value) {
return /^[+]?[1-9]+\d*$/i.test(value);
},
message : '请输入整数'
},
twofloat : {// 验证整数或小数點后兩位
validator : function(value) {
return /^\d+(\.\d{2})?$/i.test(value);
},
message : '请输入数字,并确保小数点后两位'
},
chinese : {// 验证中文
validator : function(value) {
return /^[\u0391-\uFFE5]+$/i.test(value);
},
message : '请输入中文'
},
english : {// 验证英语
validator : function(value) {
return /^[A-Za-z]+$/i.test(value);
},
message : '请输入英文'
},
unnormal : {// 验证是否包含空格和非法字符
validator : function(value) {
var canMatch= /((['"<>=%;|&]+)|-{2,}|\\{2,})+/.test(value);
return !canMatch;
},
message : '不能包含非法字符'
},
username : {// 验证用户名
validator : function(value) {
return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
},
message : '用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)'
},
faxno : {// 验证传真
validator : function(value) {
// return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/i.test(value);
return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
},
message : '请输入有效的传真号码(如:029-88888888)'
},
zip : {// 验证邮政编码
validator : function(value) {
return /^[1-9]\d{5}$/i.test(value);
},
message : '邮政编码为6位数字'
},
ip : {// 验证IP地址
validator : function(value) {
return /d+.d+.d+.d+/i.test(value);
},
message : 'IP地址格式不正确'
},
name : {// 验证姓名,可以是中文或英文
validator : function(value) {
return /^[\u0391-\uFFE5]+$/i.test(value)|/^\w+[\w\s]+\w+$/i.test(value);
},
message : '请输入姓名'
},
carNo:{
validator : function(value){
return /^[\u4E00-\u9FA5][\da-zA-Z]{6}$/.test(value);
},
message : '车牌号码无效(例:粤J12350)'
},
carenergin:{
validator : function(value){
return /^[a-zA-Z0-9]{16}$/.test(value);
},
message : '发动机型号无效(例:FG6H012345654584)'
},
email:{
validator : function(value){
return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
},
message : '请输入有效的电子邮箱(如:abc@126.com)'
},
msn:{
validator : function(value){
return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
},
message : '请输入有效的msn账号(例:abc@hotnail(msn/live).com)'
},
monery:{//验证金钱格式
validator : function(value){
return /^([1-9][\d]{0,8}|0)(\.[\d]{1,2})?$/.test(value);
},
message : '请输入有效的金额!正确格式为小数点前1-9位数字,小数点后1-2位数字,如10.00'
},
day:{//验证间隔天数
validator : function(value){
return /^([1-9][\d]{0,4}|0)(\.[\d]{0,1})?$/.test(value);
},
message : '请输入有效的天数!'
},
interUrl:{
validator : function(value){
return /^((https|http|ftp)?:\/\/)+[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/.test(value);
},
message : '请输入有效网址'
},
same:{
validator : function(value, param){
if($("#"+param[0]).val() != "" && value != ""){
return $("#"+param[0]).val() == value;
}else{
return true;
}
},
message : '两次输入的密码不一致!'
},
recipt:{//验证发票编号
validator : function(value){
return /^[0-9][\d]{0,29}$/.test(value);
},
message : '商户代码为1~30位数字!'
},
//验证页面文本框只能输入数字,汉字,下划线
income:{
validator : function(value){
return /^[-_]?[0-9_\u4e00-\u9fa5_[-_]]+$/.test(value);
},
message : '请输入有效的收入名称(例:2000元-5000元)'
},
//验证页面文本框只能输入汉字,字母或数字,小数点和空格
characterDigit:{
validator : function(value){
return /^[\u4e00-\u9fa5 a-zA-Z0-9.-\/]+$/.test(value);
},
message : '输入值不能包含特殊字符'
},
//验证页面文本框只能输入汉字,字母或数字,括号
character_Digit:{
validator : function(value){
return /^[\u4e00-\u9fa5 a-zA-Z0-9()\/]+$/.test(value);
},
message : '输入值不能包含特殊字符'
},
//验证页面文本框只能输入汉字,字母或数字
character:{
validator : function(value){
return /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/.test(value);
},
message : '输入值不能包含特殊字符'
},
onlyCode:{
validator : function(value){
return /^[0-9a-zA-Z]*$/g.test(value);
},
message : '只能输入数字或者字母'
},
onlyNumber:{
validator : function(value){
return /^[0-9]*$/g.test(value);
},
message : '只能输入数字'
},
characterDigitLength:{
validator : function(value,param){
var pattern = new RegExp("[\u4E00-\u9FA5a-zA-Z0-9_]")
if(!pattern.test(value)){
return false
}else{
var len=$.trim(value).length;
if(len<param[0]){
return false;
}else if(len>param[1]){
return false;
}else{
return true;
}
}
},
message : "输入内容长度必须介于{0}和{1}之间.不能包含特殊字符"
},
//验证特殊字符
specialCharacter:{
validator : function(value){
var pattern = new RegExp("[`~!@#$^&*()\-\_+=|{}':;',\\\\\[\\].<>/?\"%~·!¥……×()——-、『』【】:;《》,。?/]")
if(!pattern.test(value)){
return false;
}else{
return true;
}
},
message : '输入值不能包含特殊字符'
},
//validatebox 多重校验
multiple : {
validator : function(value, vtypes) {
var returnFlag = true;
var opts = $.fn.validatebox.defaults;
for (var i = 0; i < vtypes.length; i++) {
var methodinfo = /([a-zA-Z_]+)(.*)/.exec(vtypes[i]);
var rule = opts.rules[methodinfo[1]];
if (value && rule) {
var parame = eval(methodinfo[2]);
if (!rule["validator"](value, parame)) {
returnFlag = false;
this.message = rule.message;
break;
}
}
}
return returnFlag;
}
},
length : {
validator : function(value, param) {
this.message = '输入内容长度必须介于{0}和{1}之间.';
var len = $.trim(value).length;
if (param) {
for (var i = 0; i < param.length; i++) {
this.message = this.message.replace(new RegExp(
"\\{" + i + "\\}", "g"), param[i]);
}
}
return len >= param[0] && len <= param[1];
},
message : '输入内容长度必须介于{0}和{1}之间.'
}
});
}
转载于:https://www.cnblogs.com/SunDigital/p/4785503.html