JS基礎教程——正規表示式示例(推薦)
正規表示式的() [] {}有不同的意思。
() 是為了提取匹配的字串。表示式中有幾個()就有幾個相應的匹配字串。
(\s*)表示連續空格的字串。
[]是定義匹配的字元範圍。比如 [a-zA-Z0-9] 表示相應位置的字元要匹配英文字元和數字。[\s*]表示空格或者*號。
{}一般用來表示匹配的長度,比如 \s{3} 表示匹配三個空格,\s[1,3]表示匹配一到三個空格。
(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配數字(注意後面有 *,可以為空)[0-9]+ 匹配數字(注意後面有 +,不可以為空){1-9} 寫法錯誤。
[0-9]{0,9} 表示長度為 0 到 9 的數字字串。
// 清除兩邊的空格 JS中需要自己寫正則,JQ中可直接呼叫$.trim(str)去除字串前後空格 String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ''); }; // 合併多個空白為一個空白 String.prototype.ResetBlank = function() { var regEx = /\s+/g; return this.replace(regEx, ' '); }; // 保留數字 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轉化為Number String.prototype.ToInt = function() { return isNaN(parseInt(this)) ? this.toString() : parseInt(this); }; // 得到位元組長度 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'); }; // 獲取副檔名 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; }; // 數字補零 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); }; // 數字陣列由小到大排序 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; }; // 數字陣列由大到小排序 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; }; // 獲得數字陣列中最大項 Array.prototype.GetMax = function() { var oValue = 0; for (var i = 0; i < this.length; i++) { if (this[i] > oValue) { oValue = this[i]; } } return oValue; }; // 獲得數字陣列中最小項 Array.prototype.GetMin = function() { var oValue = 0; for (var i = 0; i < this.length; i++) { if (this[i] < oValue) { oValue = this[i]; } } return oValue; }; // 獲取當前時間的中文形式 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; }; //擴充套件Date格式化 Date.prototype.Format = function(format) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小時 "H+": this.getHours(), //小時 "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) { //若引數不足或 objDate 不是日期型別則回傳 undefined if (arguments.length < 2 || objDate.constructor != Date) { return undefined; } switch (interval) { //計算秒差 case 's': return parseInt((objDate - this) / 1000); //計算分差 case 'n': return parseInt((objDate - this) / 60000); //計算時差 case 'h': return parseInt((objDate - this) / 3600000); //計算日差 case 'd': return parseInt((objDate - this) / 86400000); //計算周差 case 'w': return parseInt((objDate - this) / (86400000 * 7)); //計算月差 case 'm': return (objDate.getMonth() + 1) + ((objDate.getFullYear() - this.getFullYear()) * 12) - (this.getMonth() + 1); //計算年差 case 'y': return objDate.getFullYear() - this.getFullYear(); //輸入有誤 default: return undefined; } }; //檢測是否為空 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基礎教程——正規表示式示例,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015104/viewspace-2871369/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS基礎:正規表示式JS
- 正規表示式基礎
- JS基礎篇–正規表示式詳解JS
- iOS基礎:正規表示式iOS
- 正規表示式基礎一
- bash基礎特性、正規表示式
- shell基礎 — 基本正規表示式
- 正規表示式基礎知識
- 前端基礎之正規表示式前端
- 正規表示式基礎入門
- Python正規表示式基礎Python
- 正規表示式 教程
- JS正規表示式完整教程(略長)JS
- [js]正規表示式JS
- js正規表示式JS
- js 正規表示式JS
- JavaScript基礎-06-正規表示式JavaScript
- python基礎操作——正規表示式Python
- 正規表示式(一) 基礎知識
- 正規表示式 基礎+使用案例解析
- 正規表示式-基礎實戰篇
- Python基礎之正規表示式Python
- Js基礎知識3-字串、正規表示式全解JS字串
- 【重溫基礎】9.正規表示式
- PHP基礎系列之正規表示式(一)PHP
- 正規表示式基礎知識總結
- JavaSE基礎:”頭疼”的正規表示式Java
- JavaSE基礎:"頭疼"的正規表示式Java
- javascript基礎(正規表示式)(二十四)JavaScript
- C#基礎回顧:正規表示式C#
- js正規表示式速查JS
- 常用js正規表示式JS
- JS 的正規表示式JS
- JavaScript中一些常用的正規表示式(推薦)JavaScript
- Swift 正規表示式完整教程Swift
- 正規表示式簡明教程
- Python--之正規表示式一基礎Python
- JS正規表示式入門JS