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(){ returnthis.replace(/(^\s*)|(\s*$)/g,''); }; //合并多个空白为一个空白 String.prototype.ResetBlank=function(){ varregEx=/\s+/g; returnthis.replace(regEx,''); }; //保留数字 String.prototype.GetNum=function(){ varregEx=/[^\d]/g; returnthis.replace(regEx,''); }; //保留中文 String.prototype.GetCN=function(){ varregEx=/[^\u4e00-\u9fa5\uf900-\ufa2d]/g; returnthis.replace(regEx,''); }; //String转化为Number String.prototype.ToInt=function(){ returnisNaN(parseInt(this))?this.toString():parseInt(this); }; //得到字节长度 String.prototype.GetLen=function(){ varregEx=/^[\u4e00-\u9fa5\uf900-\ufa2d]+$/; if(regEx.test(this)){ returnthis.length*2; }else{ varoMatches=this.match(/[\x00-\xff]/g); varoLength=this.length*2-oMatches.length; returnoLength; } }; //获取文件全名 String.prototype.GetFileName=function(){ varregEx=/^.*\/([^\/\?]*).*$/; returnthis.replace(regEx,'$1'); }; //获取文件扩展名 String.prototype.GetExtensionName=function(){ varregEx=/^.*\/[^\/]*(\.[^\.\?]*).*$/; returnthis.replace(regEx,'$1'); }; //替换所有 String.prototype.replaceAll=function(reallyDo,replaceWith,ignoreCase){ if(!RegExp.prototype.isPrototypeOf(reallyDo)){ returnthis.replace(newRegExp(reallyDo,(ignoreCase?"gi":"g")),replaceWith); }else{ returnthis.replace(reallyDo,replaceWith); } }; //格式化字符串addBy刘景宁2010-12-09 String.Format=function(){ if(arguments.length==0){ return''; } if(arguments.length==1){ returnarguments[0]; } varreg=/{(\d+)?}/g; varargs=arguments; varresult=arguments[0].replace(reg,function($0,$1){ returnargs[parseInt($1)+1]; }); returnresult; }; //数字补零 Number.prototype.LenWithZero=function(oCount){ varstrText=this.toString(); while(strText.length<oCount){ strText='0'+strText; } returnstrText; }; //Unicode还原 Number.prototype.ChrW=function(){ returnString.fromCharCode(this); }; //数字数组由小到大排序 Array.prototype.Min2Max=function(){ varoValue; for(vari=0;i<this.length;i++){ for(varj=0;j<=i;j++){ if(this[i]<this[j]){ oValue=this[i]; this[i]=this[j]; this[j]=oValue; } } } returnthis; }; //数字数组由大到小排序 Array.prototype.Max2Min=function(){ varoValue; for(vari=0;i<this.length;i++){ for(varj=0;j<=i;j++){ if(this[i]>this[j]){ oValue=this[i]; this[i]=this[j]; this[j]=oValue; } } } returnthis; }; //获得数字数组中最大项 Array.prototype.GetMax=function(){ varoValue=0; for(vari=0;i<this.length;i++){ if(this[i]>oValue){ oValue=this[i]; } } returnoValue; }; //获得数字数组中最小项 Array.prototype.GetMin=function(){ varoValue=0; for(vari=0;i<this.length;i++){ if(this[i]<oValue){ oValue=this[i]; } } returnoValue; }; //获取当前时间的中文形式 Date.prototype.GetCNDate=function(){ varoDateText=''; oDateText+=this.getFullYear().LenWithZero(4)+newNumber(24180).ChrW(); oDateText+=this.getMonth().LenWithZero(2)+newNumber(26376).ChrW(); oDateText+=this.getDate().LenWithZero(2)+newNumber(26085).ChrW(); oDateText+=this.getHours().LenWithZero(2)+newNumber(26102).ChrW(); oDateText+=this.getMinutes().LenWithZero(2)+newNumber(20998).ChrW(); oDateText+=this.getSeconds().LenWithZero(2)+newNumber(31186).ChrW(); oDateText+=newNumber(32).ChrW()+newNumber(32).ChrW()+newNumber(26143).ChrW()+newNumber(26399).ChrW()+newString('26085199682010819977222352011620845').substr(this.getDay()*5,5).ToInt().ChrW(); returnoDateText; }; //扩展Date格式化 Date.prototype.Format=function(format){ varo={ "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()//毫秒 }; varweek={ "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(varkino){ if(newRegExp("("+k+")").test(format)){ format=format.replace(RegExp.$1,(RegExp.$1.length==1)?(o[k]):(("00"+o[k]).substr((""+o[k]).length))); } } returnformat; } Date.prototype.Diff=function(interval,objDate){ //若参数不足或objDate不是日期类型則回传undefined if(arguments.length<2||objDate.constructor!=Date){returnundefined;} switch(interval){ //计算秒差 case's':returnparseInt((objDate-this)/1000); //计算分差 case'n':returnparseInt((objDate-this)/60000); //计算時差 case'h':returnparseInt((objDate-this)/3600000); //计算日差 case'd':returnparseInt((objDate-this)/86400000); //计算周差 case'w':returnparseInt((objDate-this)/(86400000*7)); //计算月差 case'm':return(objDate.getMonth()+1)+((objDate.getFullYear()-this.getFullYear())*12)-(this.getMonth()+1); //计算年差 case'y':returnobjDate.getFullYear()-this.getFullYear(); //输入有误 default:returnundefined; } }; //检测是否为空 Object.prototype.IsNullOrEmpty=function(){ varobj=this; varflag=false; if(obj==null||obj==undefined||typeof(obj)=='undefined'||obj==''){ flag=true; }elseif(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; } returnflag;
以上所述是小编给大家介绍的JS基础教程——正则表达式示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!