JavaScript中一些常用的正規表示式(推薦)

受到鼓舞人發表於2022-03-20

 正規表示式(regular expression)描述了一種字串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。


var validateRegExp = {
decmal: "^([+-]?)\\d*\\.\\d+$",
// 浮點數
decmal1: "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$",
// 正浮點數
decmal2: "^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$",
// 負浮點數
decmal3: "^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$",
// 浮點數
decmal4: "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$",
// 非負浮點數(正浮點數 + 0)
decmal5: "^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$",
// 非正浮點數(負浮點數 +
// 0)
intege: "^-?[1-9]\\d*$",
// 整數
intege1: "^[1-9]\\d*$",
// 正整數
intege2: "^-[1-9]\\d*$",
// 負整數
num: "^([+-]?)\\d*\\.?\\d+$",
// 數字
num1: "^[1-9]\\d*|0$",
// 正數(正整數 + 0)
num2: "^-[1-9]\\d*|0$",
// 負數(負整數 + 0)
ascii: "^[\\x00-\\xFF]+$",
// 僅ACSII字元
chinese: "^[\\u4e00-\\u9fa5]+$",
// 僅中文
color: "^[a-fA-F0-9]{6}$",
// 顏色
date: "^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}$",
// 日期
email: "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$",
// 郵件
idcard: "^[1-9]([0-9]{14}|[0-9]{17})$",
// 身份證
ip4: "^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$",
// ip地址
letter: "^[A-Za-z]+$",
// 字母
letter_l: "^[a-z]+$",
// 小寫字母
letter_u: "^[A-Z]+$",
// 大寫字母
mobile: "^0?(13|15|18|14|17)[0-9]{9}$",
// 手機
notempty: "^\\S+$",
// 非空
password: "^.*[A-Za-z0-9\\w_-]+.*$",
// 密碼
fullNumber: "^[0-9]+$",
// 數字
picture: "(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$",
// 圖片
qq: "^[1-9]*[1-9][0-9]*$",
// QQ號碼
rar: "(.*)\\.(rar|zip|7zip|tgz)$",
// 壓縮檔案
tel: "^[0-9\-()()]{7,18}$",
// 電話號碼的函式(包括驗證國內區號,國際區號,分機號)
url: "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$",
// url
username: "^[A-Za-z0-9_\\-\\u4e00-\\u9fa5]+$",
// 戶名
deptname: "^[A-Za-z0-9_()()\\-\\u4e00-\\u9fa5]+$",
// 單位名
zipcode: "^\\d{6}$",
// 郵編
realname: "^[A-Za-z\\u4e00-\\u9fa5]+$",
// 真實姓名
companyname: "^[A-Za-z0-9_()()\\-\\u4e00-\\u9fa5]+$",
companyaddr: "^[A-Za-z0-9_()()\\#\\-\\u4e00-\\u9fa5]+$",
companysite: "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&#=]*)?$"
};
// 驗證規則
var validateRules = {
isNull: function(str) {
return (str == "" || typeof str != "string");
},
betweenLength: function(str, _min, _max) {
return (str.length >= _min && str.length <= _max);
},
isUid: function(str) {
return new RegExp(validateRegExp.username).test(str);
},
fullNumberName: function(str) {
return new RegExp(validateRegExp.fullNumber).test(str);
},
isPwd: function(str) {
return /^.*([\W_a-zA-z0-9-])+.*$/i.test(str);
},
isPwdRepeat: function(str1, str2) {
return (str1 == str2);
},
isEmail: function(str) {
return new RegExp(validateRegExp.email).test(str);
},
isTel: function(str) {
return new RegExp(validateRegExp.tel).test(str);
},
isMobile: function(str) {
return new RegExp(validateRegExp.mobile).test(str);
},
checkType: function(element) {
return (element.attr("type") == "checkbox" || element.attr("type") == "radio" || element.attr("rel") == "select");
},
isRealName: function(str) {
return new RegExp(validateRegExp.realname).test(str);
},
isCompanyname: function(str) {
return new RegExp(validateRegExp.companyname).test(str);
},
isCompanyaddr: function(str) {
return new RegExp(validateRegExp.companyaddr).test(str);
},
isCompanysite: function(str) {
return new RegExp(validateRegExp.companysite).test(str);
},
simplePwd: function(str) {
// var pin = $("#regName").val();
// if (pin.length > 0) {
// pin = strTrim(pin);
// if (pin == str) {
// return true;
// }
// }
return pwdLevel(str) == 1;
},
weakPwd: function(str) {
for (var i = 0; i < weakPwdArray.length; i++) {
if (weakPwdArray[i] == str) {
return true;
}
}
return false;
}
};
//休眠
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime) return;
}
}

以上所述是小編給大家介紹的JavaScript中一些常用的正規表示式(推薦),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015105/viewspace-2877209/,如需轉載,請註明出處,否則將追究法律責任。

相關文章