RegExp#exec
and String#match
JS-D00721TLib.goLink=function(id,target){if(TLib.getObj(id)){var url=TLib.getObj(id).options[TLib.getObj(id).selectedIndex].value;if(url!=''){if(target==''){window.location=url;}else{window.open(url);}}}}
22TLib.showPager=function(pageCount,currentPage,url){var pages=new Array();var startPage=0;var endPage=0;if(eval(pageCount)==1){TLib.getObj("showpager").display="none";return;}startPage=currentPage-2;if(startPage<0){startPage=0;}if(startPage+4<pageCount){endPage=startPage+4;}else{endPage=pageCount-1;}if(endPage-4<0){startPage=0;}else{startPage=endPage-4;}pages[pages.length]="<a class='Page' "+(pageCount>0?"href='"+url.replace("{page}",0)+"'":"")+">|<</a>";pages[pages.length]="<a class='Page' "+(currentPage-1>=0?"href='"+url.replace("{page}",currentPage-1)+"'":"")+"><</a>";for(var i=startPage;i<=endPage;i++){pages[pages.length]="<a class='"+(i==currentPage?"Current":"Page")+"' href='"+url.replace("{page}",i)+"'>"+(i+1)+"</a>";}pages[pages.length]="<a class='Page' "+(currentPage+1<pageCount?"href='"+url.replace("{page}",currentPage+1)+"'":"")+">></a>";pages[pages.length]="<a class='Page' "+(pageCount>0?"href='"+url.replace("{page}",pageCount-1)+"'":"")+">>|</a>";document.write(pages.join(" "));}
23TLib.writeSupport=function(address,type,imgUrl){if(address==''){return;}if(type==''){document.write('<a href="ymsgr:sendIM?'+address+'"><img border="0" src="http://opi.yahoo.com/online?u='+address+'&m=g&t='+imgUrl+'&l=us" alt="" /></a>');}else if(type=='1'&&imgUrl!=''){document.write('<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script><a href="skype:'+address+'?call" ><img alt="" src="'+imgUrl+'" style="border:0px;" /></a>');}}
24TLib.writeAdv=function(url,link,width,height,className,title,target){if(!url){return;}width=width?"width='"+width+"'":"";height=height?"height='"+height+"'":"";link=link?"href='"+link+"'":"";title=title?"title='"+title+"'":"";target=target?"target='"+target+"'":"";className=className?"class='"+className+"'":"";if(url.match(/.swf$/ig)){document.write("<embed src='"+url+"' quality='best' wmode='transparent' "+width+" "+height+" align='middle' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />");}else{document.write("<a "+className+" "+link +" "+title+" "+target+"><img src='"+url+"' "+width+" "+height+" style='border:none'/></a>");}}25TLib.getParamFromUrl=function(name){var q=document.location.search;var i=q.indexOf(name+'=');if(i==-1){return false;}var r=q.substr(i+name.length+1,q.length-i-name.length-1);i=r.indexOf('&');if(i!=-1){r=r.substr(0,i);}return r.replace(/\+/g,' ');}
26TLib.addCommas=function(val){val+='';x=val.split('.');x1=x[0];x2=x.length>1?','+x[1]:'';var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,'$1'+'.'+'$2');}return x1 + x2;}
27TLib.getRandomNumber=function(min,max,floatVal){var randVal=min+(Math.random()*(max-min));return typeof floatVal=='undefined'?Math.round(randVal):randVal.toFixed(floatVal);}
11554 if ( yearSplit[ 0 ].match( /[+\-].*/ ) ) {
11555 minYear += currentYear;
11556 }
11557 if ( yearSplit[ 1 ].match( /[+\-].*/ ) ) {11558 maxYear += currentYear;
11559 }
11560 }
11551 currentYear = new Date().getFullYear();
11552 minYear = parseInt( yearSplit[ 0 ], 10 );
11553 maxYear = parseInt( yearSplit[ 1 ], 10 );
11554 if ( yearSplit[ 0 ].match( /[+\-].*/ ) ) {11555 minYear += currentYear;
11556 }
11557 if ( yearSplit[ 1 ].match( /[+\-].*/ ) ) {
11444 thisYear = new Date().getFullYear();
11445 determineYear = function( value ) {
11446 var year = ( value.match( /c[+\-].*/ ) ? drawYear + parseInt( value.substring( 1 ), 10 ) :
11447 ( value.match( /[+\-].*/ ) ? thisYear + parseInt( value, 10 ) :11448 parseInt( value, 10 ) ) );
11449 return ( isNaN( year ) ? thisYear : year );
11450 };
11443 years = this._get( inst, "yearRange" ).split( ":" );
11444 thisYear = new Date().getFullYear();
11445 determineYear = function( value ) {
11446 var year = ( value.match( /c[+\-].*/ ) ? drawYear + parseInt( value.substring( 1 ), 10 ) :11447 ( value.match( /[+\-].*/ ) ? thisYear + parseInt( value, 10 ) :
11448 parseInt( value, 10 ) ) );
11449 return ( isNaN( year ) ? thisYear : year );
RegExp#exec
and String#match
should only be used when we need to use the parts of a string that match a specific pattern:
const matches = /[a-zA-Z0-9]+/.exec(string)
for (const match of matches) {
processMatch(match)
}
If you only want to know whether a string matches a particular pattern, RegExp#test
is a faster alternative.
const matches = str.match(/[a-zA-Z0-9]/) ? process(str) : process("default-str");
const strMatchesPattern = !!str.match(/regex/)
const regexp = new RegExp("[a-zA-Z0-9]*")
if (regexp.exec(myString)) {
// ...
}
const matches = '/hasTheMagic/'.test(str) ? process(str) : process("default-str");
const strMatchesPattern = /regex/.test(str)
const regexp = new RegExp("[a-zA-Z0-9]*")
if (regexp.test(myString)) {
// ...
}