oneLiners.js
|
One-liners | |
Logs [en]
Logs [nl]
Navigate
|
In de traditie van de Binair pagina's in KIJK van Nico Baaijens hier een (groeiende) verzameling one-liners. De code in de grijze vakken wordt rechtstreeks gekopieerd uit de <script> tags, dus deze pagina is WYSIWYR! QueryString
Hoe vraag ik de waarde van een querystring variabele op? function QueryString(s) { var res=new RegExp("(\\?|&)"+s+"=([^&]*)(&|$)","i").exec(location.search); return res?decodeURIComponent(res[2]):null; } Trim
Hoe trim je een string in javascript? String.prototype.trim=function String_trim() { return this.replace(/^ +| +$/g,''); } Knokkelregel, of, aantal dagen in een maand
Met een handigheidje gemakkelijk het aantal dagen van een maand bepalen (maand is 0-gebaseerd, dag is 1-gebaseerd). function numberOfDays(nYear,nMonth) { return new Date(nYear,nMonth+1,0).getDate(); } Grootste
Retouneer de grootste van 3 parameters.
Math.max werkt nl. niet altijd (jou browser is
OK: /*Beslisboom */
function biggest(a,b,c) { return a>b?a>c?a:c:b>c?b:c; } Willekeurig element uit een Array
Gemakkelijk een willekeurig element uit een array halen. Array.prototype.rndItem=function Array_rndItem() { return this[parseInt(Math.random()*this.length,10)]; } HoofdstukkenAuto-nummer hoofdstukkenEindelijk geen hoofdstukken meer nummeren met de hand: numberHeaders(); function numberHeaders() { var arrNr=[0,0,0,0,0,0]; //chapter count array var o, nLevel, strNumber; for(var i in document.all) { o=document.all[i]; if(/H[1-6]/i.test(o.tagName)) { nLevel=parseInt(o.tagName.substr(1,1),10)-1; //0=h1, 1=h2 arrNr[nLevel]++; //increase level-counter for(var j=nLevel+1; j<9; j++) { arrNr[j]=0; //reset lower levels } strNumber=arrNr.slice(0,nLevel+1).join('.'); o.innerText=strNumber+' '+o.innerText; } } } Genereer Inhoudsopgaaf
Dit script genereert een inhoudsopgaaf. Benedenstaande links demonstreren een
lijst van alle <h1> en <h2> tags. Voor het genereren van de hyperlinks
zijn twee MS-Methodes nodig,
<div id="idTOC">Hier wordt de inhoudsopgaaf geplaatst</div>
function insertTOC(nMinDepth,nMaxDepth) { var o, strTOC=''; for(var i=0; i<document.all.length; i++) { o=document.all[i]; if(/H[1-6]/i.test(o.tagName)) { var nLevel=parseInt(o.tagName.substr(1,1),10); if(nLevel>=nMinDepth&&nLevel<=nMaxDepth) { strTOC+='<a class="toc'+nLevel +'" href="javascript: '+o.uniqueID+'.scrollIntoView()">' +o.innerText+'</a><br>\n'; } } } return strTOC; } Valideer PostcodeNederlandse postcode valideren (eerst 4 cijfers, waarvan de eerste geen 0 mag zijn, gevolgd door een optionele spatie, en dan twee letters): validatePostalCode() function validatePostalCode(strPC) { return typeof strPC=='string' ?strPC.match(/[1-9][0-9]{3} ?[a-zA-Z]{2}/)==strPC :false; //Met optimalisaties van Henk KH } Object to String (showObject)
Snel de properties van een object bekijken. 2e Parameter een optionele reguliere expressie,
om de lijst te filteren: function obj2str(o,r) { var s=''; for(var i in o) { if(!r||r.test(i)) { s+=i+': '+o[i]+'\n'; } } return s; } |