jquery addMethod validate mac, ip ,fpt,postcode,alphanumeric,date

(function($){
if ($.validator) {
$.validator.addMethod(“alphanumeric”, function(value, element) {
return this.optional(element) || /^\w+$/i.test(value);
}, “Letters, numbers or underscores only please”);

$.validator.addMethod(“lettersonly”, function(value, element) {
return this.optional(element) || /^[a-z]+$/i.test(value);
}, “Letters only please”);

$.validator.addMethod(“phone”, function(value, element) {
return this.optional(element) || /^[0-9 \(\)]{7,30}$/.test(value);
}, “Please specify a valid phone number”);

$.validator.addMethod(“postcode”, function(value, element) {
return this.optional(element) || /^[0-9 A-Za-z]{5,20}$/.test(value);
}, “Please specify a valid postcode”);

$.validator.addMethod(“date”, function(value, element) {
value = value.replace(/\s+/g, “”);
if (String.prototype.parseDate){
var $input = $(element);
var pattern = $input.attr(‘format’) || ‘yyyy-MM-dd’;

return !$input.val() || $input.val().parseDate(pattern);
} else {
return this.optional(element) || value.match(/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/);
}
}, “Please enter a valid date.”);

$.validator.addMethod(“alphanumericPoint”, function(value, element) {
return this.optional(element) || /^[a-zA-Z0-9_.]{1,}$/.test(value);
}, “Letters, numbers or underscores or point only please”);

$.validator.addMethod(“ipaddress”, function(value, element) {
return this.optional(element) || /^\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}$/.test(value);
}, “Please enter a valid ipaddress”);

$.validator.addMethod(“macaddress”, function(value, element) {
return this.optional(element) || /^([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})$/.test(value);
}, “Please enter a valid macaddress”);

// 网络地址,点分形式的IP地址+整型的掩码0-32
$.validator.addMethod(“netipaddress”, function(value, element) {
return this.optional(element) || /^\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}\/([0-2]?[0-9]|3[0-2])$/.test(value);
}, “Please enter a valid netipaddress”);

//http/https/ftp)
$.validator.addMethod(“hostipaddress”, function(value, element) {
var ipaddressReg = /^\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}$/;
var domainReg = /^([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?$/;
var letterReg = /^[a-zA-Z]+$/;
var $input = $(element).val().toLowerCase();
if($input.indexOf(“http://”)==0 || $input.indexOf(“https://”)==0){
return false;
}
var arry = new Array();
arry = value.split(“.”);
var lastLetter = value.substring(value.lastIndexOf(“.”)+1, value.length);
if(arry.length >= 2 && arry.length < 4) {
return letterReg.test(lastLetter);
}else if(arry.length == 4) {
var firstStr = value.substring(0, value.indexOf(“.”));
if(letterReg.test(lastLetter)) {
return letterReg.test(firstStr);
}else {
return ipaddressReg.test(value);
}
}else {
//return this.optional(element) || /^(\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4})|([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?$/.test(value);
return this.optional(element) || domainReg.test(value);
}
}, “Please enter a valid host or ipaddress”);

//
$.validator.addMethod(“retainPort”, function(value, element) {
var retainPortReg = /^((\d+)|(\d+,?\d+))+$/;
var arr = value.split(‘,’);
arrLength = arr.length;
for(var i in arr){
if(Number(arr[i])<1 || Number(arr[i])>65535 ){
return false;
}
}
return this.optional(element) || retainPortReg.test(value);
}, “Please enter a valid retainPort”);

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s