表单验证 正则表达式

来源:互联网 发布:淘宝卖白酒可以吗 编辑:程序博客网 时间:2024/05/20 21:58

表单验证 引用

var validator = new FormValidator(‘#orderForm’,{
验证的input框name
inputs:[“transactionPassword”],
//对应的验证规则
rules: {
transactionPassword: “required|maxlength:6|digit”
},
//验证的提示信息
messages: {
transactionPassword:{
required: “交易密码不能为空”,
maxlength : “交易密码为6位数字密码”,
digit:”交易密码只能是数字”
}
}
});
//表单验证 初始化
validator.launched();

*/

define(function(require, exports, module) {
“use strict”;
//使用严格模式
var namespace = “BChamFormValidator”;
var type = [ ‘input:not([type]),input[type=”color”],input[type=”date”],input[type=”datetime”],input[type=”datetime-local”],input[type=”email”],input[type=”file”],input[type=”hidden”],input[type=”month”],input[type=”number”],input[type=”password”],input[type=”range”],input[type=”search”],input[type=”tel”],input[type=”text”],input[type=”time”],input[type=”url”],input[type=”week”],textarea’, “select”, ‘input[type=”checkbox”],input[type=”radio”]’ ], allTypes = type.join(“,”);
var defaults = {
//默认提交是否验证 false ajax方式提交表单 表单结果从result()取值
onSubmit: true,
//全局默认onblur时是否验证
onBlur: true,
onChange: false,
onKeyup: false,
onInput: true,
//默认渲染成功和错误样式的dom
// wrapper: “div.control-group”,
success: {},
fail: {},
rules: {}
};
var methods = {
required: function(field, value) {
return value !== null && .trim(value).length > 0;  
        },  
        minlength: function(field, value, min_len, all_rules) {  
            var length =
.trim(value.toString()).length, result = length >= min_len;
if (!all_rules[“required”]) {
result = result && length !== 0;
}
return result;
},
maxlength: function(field, value, max_len) {
return $.trim(value.toString()).length <= max_len;
},
minvalue: function(field, value, min_val){
return parseFloat(value) >= parseFloat(min_val);
},
maxvalue: function(field, value, max_val){
return parseFloat(value) <= parseFloat(max_val);
},
regex: function(field, value, regexp) {
return regexp.test(value);
},
email: function(field, value) {
var 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;returnregex.test(.trim(value));
},
url: function(field, value) {
var 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;  
            return regex.test(value);  
        },  
        equals: function(field, value, target) {  
            return value === target;  
        },  
        ip: function(field, value) {  
            var regex = /^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2}).){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})
/i;
return regex.test(.trim(value));  
        },  
        phone: function(field, value) {  
            // 调整 注册支持号段:除 100、110、120外都可支持  
            var regex = /^(1[^012][0-9]{9})
/i;
return regex.test(.trim(value));  
        },  
        alpha: function(field, value) {  
            var regex = /^[a-z]*
/i;
return regex.test(value);
},
alpha_numeric: function(field, value) {
var regex = /^[a-z0-9]*/i;  
            return regex.test(value);  
        },  
        alpha_dash: function(field, value) {  
            var regex = /^[a-z0-9_-]*
/i;
return regex.test(value);
},
digit: function(field, value) {
var regex = /^\d*/;  
            return regex.test(value);  
        },  
        numeric: function(field, value , point_num) {  
            var point_num = point_num || null;  
            var regex = /^([+-]?[0-9]+(.[0-9]+)?)?
/;
if( regex.test(value) ){
if( point_num == null || value.toString().match(/./) == null){
return true;
}else{
return value.toString().split(“.”)[1].length <= parseInt(point_num);
}
}else{
return false;
}
},
matches: function(field, value, param, all_rules) {
var length = $.trim(value).length, result = value === this.fields.filter(‘[data-id=”’ + param + ‘”]’).val();
if (!all_rules[“required”]) {
result = result && length !== 0;
}
return result;
}
};
var messages = {
required: “输入值不能为空”,
minlength: “输入值不能少于 :value 个字符”,
maxlength: “输入值不能超过 :value 个字符”,
minvalue: “最小值不能超过value”,
maxvalue: “最大值不能超过value”,
regex: “请输入正确的值”,
email: “请输入正确的邮箱格式,如:brucecham@outlook.com”,
url: “请输入正确的url地址,如:http://www.github.com“,
equals: “输入值必须等于 :value”,
ip: “请输入正确的ip地址格式,如:10.1.1.1”,
phone: “请输入正确的电话号码,如:18688888888”,
alpha: “输入值只能是a-z之间的小写字母”,
alpha_numeric: “输入值只能是a-z或0-9”,
alpha_dash: “输入值只能是a-z,0-9或下划线(_)和(-)”,
digit: “该项只能输入整数”,
numeric: “该项只能输入数字”,
matches: “请再次输入相同的值”
};
function Validator(form, options) {  
        var validator = this;  
        //public  
        this.form =
form;
this.options = $.extend({}, defaults, options);
this.inputs = this.options.inputs;
for(var i=0;i

0 0
原创粉丝点击