Validin是一个轻量级、易于使用的jQuery插件,用于使用正则表达式验证各种类型的表单字段。
1.要使用此插件,您首先需要在加载jQuery库后加载JavaScript文件“validin.js”:
<script src="//code.jquery.com/jquery.min.js"></script> <script src="validin.js"></script>
2.调用目标表单元素上的函数,jQuery Validatin就可以使用了。
$('form').validin();
3.添加validate=“规则名称”属性到表单字段,如下所示:
<form> <input required> <input validate="alpha"> <input validate="alpha_num"> <input validate="alpha_space"> <input validate="alpha_dash"> <input validate="alpha_num_dash"> <input validate="number"> <input validate="decimal"> <input validate="name"> <input validate="email"> <input validate="url"> <input validate="phone"> <input validate="zip"> <input validate="creditcard"> <input validate="min:5"> <input validate="max:5"> <input validate="min_length:5"> <input validate="max_length:5"> <input class="must_match"> <input validate="match:.must_match"> <input type="submit"> </form>
3.您也可以使用regex定义自己的验证规则。
<input validate="regex:/[0-9a-z]{1,3}-\d*/i">
4.在无效时设置错误消息和表单字段的样式。
input.invalid { border-color: #ff7a7a; }
.validation_error {
margin: .4em 0 1em;
color: #ff7a7a;
font-size: .7em;
text-transform: uppercase;
letter-spacing: .15em;
}
5.自定义默认验证规则和错误消息。
$('form').validin({
validation_tests: {
'alpha': {
'regex': /[a-zA-Z]*/,
'error_message': "This can only contain only letters"
},
'alpha_num': {
'regex': /[A-Z0-9]*/i,
'error_message': "This can only contain letters and numbers"
},
'alpha_space': {
'regex': /[A-Z ]*/i,
'error_message': "This can only contain letters"
},
'alpha_dash': {
'regex': /[A-Z\.\-_]*/i,
'error_message': "This can only contain letters, underscores and hyphens"
},
'alpha_num_dash': {
'regex': /[A-Z0-9\.\-_]*/i,
'error_message': "This can only contain letters, numbers, underscores and hyphens"
},
'number': {
'regex': /[\d]*/,
'error_message': "This needs to be a valid whole number"
},
'decimal': {
'regex': /(\d*\.?\d*)/,
'error_message': "This needs to be a valid number"
},
'name': {
'regex': /[A-Z\.\-'\s]*/i,
'error_message': "This needs to be a valid name"
},
'email': {
'regex': /[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}/i,
'error_message': "This needs to be a valid email address"
},
'url': {
'regex': /(https?|ftp):\/\/[^\s\/$.?#].[^\s]*/i,
'error_message': "This needs to be a valid URL"
},
'phone': {
'regex': /(?=.*?\d{3}( |-|.)?\d{4})((?:\+?(?:1)(?:\1|\s*?))?(?:(?:\d{3}\s*?)|(?:\((?:\d{3})\)\s*?))\1?(?:\d{3})\1?(?:\d{4})(?:\s*?(?:#|(?:ext\.?))(?:\d{1,5}))?)\b/i,
'error_message': "This needs to be a valid phone number"
},
'zip': {
'regex': /\d{5}(?:-?\d{4})?/i,
'error_message': "This needs to be a valid zip code"
},
'creditcard': {
'regex': /(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})/i,
'error_message': "This needs to be a valid credit card number"
},
'regex': {
'regex': /.*/i,
'error_message': "This is not a valid value"
},
'min': {
'regex': /.*/i,
'error_message': "This number needs to be at least %i"
},
'max': {
'regex': /.*/i,
'error_message': "This number needs to no more than %i"
},
'min_length': {
'regex': /.*/i,
'error_message': "This needs to be at least %i characters long"
},
'max_length': {
'regex': /.*/i,
'error_message': "This needs to be no more than %i characters long"
},
'match': {
'regex': /.*/i,
'error_message': "These values have to match"
}
},
});
6.更多具有默认值的配置选项。
$('form').validin({
// delay time in milliseconds
feedback_delay: 700,
// default CSS classes
invalid_input_class: 'invalid',
error_message_class: "validation_error",
// default error messages
form_error_message: "Please fix any errors in the form",
required_fields_initial_error_message: "Please fill in all required fields",
required_field_error_message: "This field is required",
// adjust margins on the validation error messages
override_input_margins: true,
// additional validate rules
tests: {},
// callback
onValidateInput: function() {}
});
2022-03-01
2022-02-28
2021-03-28
2019-01-01
2017-12-14
2017-09-16