JS基礎(chǔ)教程——正則表達(dá)式示例(推薦)
正則表達(dá)式的() [] {}有不同的意思。
() 是為了提取匹配的字符串。表達(dá)式中有幾個(gè)()就有幾個(gè)相應(yīng)的匹配字符串。
(\s*)表示連續(xù)空格的字符串。
[]是定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應(yīng)位置的字符要匹配英文字符和數(shù)字。[\s*]表示空格或者*號(hào)。
{}一般用來表示匹配的長(zhǎng)度,比如 \s{3} 表示匹配三個(gè)空格,\s[1,3]表示匹配一到三個(gè)空格。
(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配數(shù)字(注意后面有 *,可以為空)[0-9]+ 匹配數(shù)字(注意后面有 +,不可以為空){1-9} 寫法錯(cuò)誤。
[0-9]{0,9} 表示長(zhǎng)度為 0 到 9 的數(shù)字字符串。
// 清除兩邊的空格 JS中需要自己寫正則,JQ中可直接調(diào)用$.trim(str)去除字符串前后空格 String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ''); }; // 合并多個(gè)空白為一個(gè)空白 String.prototype.ResetBlank = function() { var regEx = /\s+/g; return this.replace(regEx, ' '); }; // 保留數(shù)字 String.prototype.GetNum = function() { var regEx = /[^\d]/g; return this.replace(regEx, ''); }; // 保留中文 String.prototype.GetCN = function() { var regEx = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g; return this.replace(regEx, ''); }; // String轉(zhuǎn)化為Number String.prototype.ToInt = function() { return isNaN(parseInt(this)) ? this.toString() : parseInt(this); }; // 得到字節(jié)長(zhǎng)度 String.prototype.GetLen = function() { var regEx = /^[\u4e00-\u9fa5\uf900-\ufa2d]+$/; if (regEx.test(this)) { return this.length * 2; } else { var oMatches = this.match(/[\x00-\xff]/g); var oLength = this.length * 2 - oMatches.length; return oLength; } }; // 獲取文件全名 String.prototype.GetFileName = function() { var regEx = /^.*\/([^\/\?]*).*$/; return this.replace(regEx, '$1'); }; // 獲取文件擴(kuò)展名 String.prototype.GetExtensionName = function() { var regEx = /^.*\/[^\/]*(\.[^\.\?]*).*$/; return this.replace(regEx, '$1'); }; //替換所有 String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { if (!RegExp.prototype.isPrototypeOf(reallyDo)) { return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi" : "g")), replaceWith); } else { return this.replace(reallyDo, replaceWith); } }; //格式化字符串 add By 劉景寧 2010-12-09 String.Format = function() { if (arguments.length == 0) { return ''; } if (arguments.length == 1) { return arguments[0]; } var reg = /{(\d+)?}/g; var args = arguments; var result = arguments[0].replace(reg, function($0, $1) { return args[parseInt($1) + 1]; }); return result; }; // 數(shù)字補(bǔ)零 Number.prototype.LenWithZero = function(oCount) { var strText = this.toString(); while (strText.length < oCount) { strText = '0' + strText; } return strText; }; // Unicode還原 Number.prototype.ChrW = function() { return String.fromCharCode(this); }; // 數(shù)字?jǐn)?shù)組由小到大排序 Array.prototype.Min2Max = function() { var oValue; for (var i = 0; i < this.length; i++) { for (var j = 0; j <= i; j++) { if (this[i] < this[j]) { oValue = this[i]; this[i] = this[j]; this[j] = oValue; } } } return this; }; // 數(shù)字?jǐn)?shù)組由大到小排序 Array.prototype.Max2Min = function() { var oValue; for (var i = 0; i < this.length; i++) { for (var j = 0; j <= i; j++) { if (this[i] > this[j]) { oValue = this[i]; this[i] = this[j]; this[j] = oValue; } } } return this; }; // 獲得數(shù)字?jǐn)?shù)組中最大項(xiàng) Array.prototype.GetMax = function() { var oValue = 0; for (var i = 0; i < this.length; i++) { if (this[i] > oValue) { oValue = this[i]; } } return oValue; }; // 獲得數(shù)字?jǐn)?shù)組中最小項(xiàng) Array.prototype.GetMin = function() { var oValue = 0; for (var i = 0; i < this.length; i++) { if (this[i] < oValue) { oValue = this[i]; } } return oValue; }; // 獲取當(dāng)前時(shí)間的中文形式 Date.prototype.GetCNDate = function() { var oDateText = ''; oDateText += this.getFullYear().LenWithZero(4) + new Number(24180).ChrW(); oDateText += this.getMonth().LenWithZero(2) + new Number(26376).ChrW(); oDateText += this.getDate().LenWithZero(2) + new Number(26085).ChrW(); oDateText += this.getHours().LenWithZero(2) + new Number(26102).ChrW(); oDateText += this.getMinutes().LenWithZero(2) + new Number(20998).ChrW(); oDateText += this.getSeconds().LenWithZero(2) + new Number(31186).ChrW(); oDateText += new Number(32).ChrW() + new Number(32).ChrW() + new Number(26143).ChrW() + new Number(26399).ChrW() + new String('26085199682010819977222352011620845').substr(this.getDay() * 5, 5).ToInt().ChrW(); return oDateText; }; //擴(kuò)展Date格式化 Date.prototype.Format = function(format) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小時(shí) "H+": this.getHours(), //小時(shí) "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; var week = { "0": "\u65e5", "1": "\u4e00", "2": "\u4e8c", "3": "\u4e09", "4": "\u56db", "5": "\u4e94", "6": "\u516d" }; if (/(y+)/.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); } if (/(E+)/.test(format)) { format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f" : "\u5468") : "") + week[this.getDay() + ""]); } for (var k in o) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); } } return format; } Date.prototype.Diff = function(interval, objDate) { //若參數(shù)不足或 objDate 不是日期類型則回傳 undefined if (arguments.length < 2 || objDate.constructor != Date) { return undefined; } switch (interval) { //計(jì)算秒差 case 's': return parseInt((objDate - this) / 1000); //計(jì)算分差 case 'n': return parseInt((objDate - this) / 60000); //計(jì)算時(shí)差 case 'h': return parseInt((objDate - this) / 3600000); //計(jì)算日差 case 'd': return parseInt((objDate - this) / 86400000); //計(jì)算周差 case 'w': return parseInt((objDate - this) / (86400000 * 7)); //計(jì)算月差 case 'm': return (objDate.getMonth() + 1) + ((objDate.getFullYear() - this.getFullYear()) * 12) - (this.getMonth() + 1); //計(jì)算年差 case 'y': return objDate.getFullYear() - this.getFullYear(); //輸入有誤 default: return undefined; } }; //檢測(cè)是否為空 Object.prototype.IsNullOrEmpty = function() { var obj = this; var flag = false; if (obj == null || obj == undefined || typeof (obj) == 'undefined' || obj == '') { flag = true; } else if (typeof (obj) == 'string') { obj = obj.trim(); if (obj == '') {//為空 flag = true; } else {//不為空 obj = obj.toUpperCase(); if (obj == 'NULL' || obj == 'UNDEFINED' || obj == '{}') { flag = true; } } } else { flag = false; } return flag;
以上所述是小編給大家介紹的JS基礎(chǔ)教程——正則表達(dá)式示例,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JS正則(RegExp)判斷文本框中是否包含特殊符號(hào)
這篇文章主要介紹了JS正則(RegExp)判斷文本框中是否包含特殊符號(hào),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10JScript中正則表達(dá)函數(shù)的說明與應(yīng)用
JScript中正則表達(dá)函數(shù)的說明與應(yīng)用...2006-06-06開發(fā)過程最全的正則表達(dá)式匹配中英文、字母和數(shù)字
這篇文章主要介紹了開發(fā)過程最全的正則表達(dá)式匹配中英文、字母和數(shù)字 的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05MyEclipse刪除網(wǎng)上復(fù)制下來的來代碼帶有的行號(hào)(正則去除行號(hào))
這篇文章主要介紹了MyEclipse刪除網(wǎng)上復(fù)制下來的來代碼帶有的行號(hào),利用正則表達(dá)式進(jìn)行去除,感興趣的小伙伴們可以參考一下2015-12-12