You can use this javascript to auto format telephone numbers entered into a textbox or mask textboxes for telephone numbers. The javascript code is prepared to format US phone number formats. This format is same as Turkish telephone number format. The phone number format is like (222)336-4520 You can freely use the code.
You can enter phone number below in the textbox and you will see the telephone number entered will be formatted automatically.
Enter telephone number :
You can find the javascript code below or you can download a sample phone number format application from http://www.kodyaz.com/files/21/autoformat_telephone_numbers/default.aspx
<script language="javascript"><!-- This script is based on the javascript code of Roman Feldblum (web.developer@programmer.net) --><!-- Original script : http://javascript.internet.com/forms/format-phone-number.html --><!-- Original script is revised by Eralper Yilmaz (http://www.eralper.com) --><!-- Revised script : http://www.kodyaz.com -->var zChar = new Array(' ', '(', ')', '-', '.');var maxphonelength = 13;var phonevalue1;var phonevalue2;var cursorposition;function ParseForNumber1(object){phonevalue1 = ParseChar(object.value, zChar);}function ParseForNumber2(object){phonevalue2 = ParseChar(object.value, zChar);}function backspacerUP(object,e) { if(e){ e = e } else {e = window.event } if(e.which){ var keycode = e.which } else {var keycode = e.keyCode }ParseForNumber1(object)if(keycode >= 48){ValidatePhone(object)}}function backspacerDOWN(object,e) { if(e){ e = e } else {e = window.event } if(e.which){ var keycode = e.which } else {var keycode = e.keyCode }ParseForNumber2(object)} function GetCursorPosition(){var t1 = phonevalue1;var t2 = phonevalue2;var bool = falsefor (i=0; i<t1.length; i++){if (t1.substring(i,1) != t2.substring(i,1)) {if(!bool) {cursorposition=ibool=true}}}}function ValidatePhone(object){var p = phonevalue1p = p.replace(/[^\d]*/gi,"")if (p.length < 3) {object.value=p} else if(p.length==3){pp=p;d4=p.indexOf('(')d5=p.indexOf(')')if(d4==-1){pp="("+pp;}if(d5==-1){pp=pp+")";}object.value = pp;} else if(p.length>3 && p.length < 7){p ="(" + p; l30=p.length;p30=p.substring(0,4);p30=p30+")"p31=p.substring(4,l30);pp=p30+p31;object.value = pp; } else if(p.length >= 7){p ="(" + p; l30=p.length;p30=p.substring(0,4);p30=p30+")"p31=p.substring(4,l30);pp=p30+p31;l40 = pp.length;p40 = pp.substring(0,8);p40 = p40 + "-"p41 = pp.substring(8,l40);ppp = p40 + p41;object.value = ppp.substring(0, maxphonelength);}GetCursorPosition()if(cursorposition >= 0){if (cursorposition == 0) {cursorposition = 2} else if (cursorposition <= 2) {cursorposition = cursorposition + 1} else if (cursorposition <= 5) {cursorposition = cursorposition + 2} else if (cursorposition == 6) {cursorposition = cursorposition + 2} else if (cursorposition == 7) {cursorposition = cursorposition + 4e1=object.value.indexOf(')')e2=object.value.indexOf('-')if (e1>-1 && e2>-1){if (e2-e1 == 4) {cursorposition = cursorposition - 1}}} else if (cursorposition < 11) {cursorposition = cursorposition + 3} else if (cursorposition == 11) {cursorposition = cursorposition + 1} else if (cursorposition >= 12) {cursorposition = cursorposition}var txtRange = object.createTextRange();txtRange.moveStart( "character", cursorposition);txtRange.moveEnd( "character", cursorposition - object.value.length);txtRange.select();}}function ParseChar(sStr, sChar){if (sChar.length == null) {zChar = new Array(sChar);}else zChar = sChar;for (i=0; i<zChar.length; i++){sNewStr = "";var iStart = 0;var iEnd = sStr.indexOf(sChar[i]);while (iEnd != -1){sNewStr += sStr.substring(iStart, iEnd);iStart = iEnd + 1;iEnd = sStr.indexOf(sChar[i], iStart);}sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);sStr = sNewStr;}return sNewStr;}</script>
And edit the html code for the phone input textbox like the below one:
<input type="text" name="txtInput" onkeydown="javascript:backspacerDOWN(this,event);" onkeyup="javascript:backspacerUP(this,event);" />
Related Javascript Articles and Topics
BlinkList Del.icio.us Digg Furl Simpy Spurl DZone ma.gnolia Shadows