/    Sign up×
Community /Pin to ProfileBookmark

Phone Number formatting script

Hi,
I found the following script that formats a phone number as it is entered. However, it is hardcoded for a specific “phone number” field in a specific form name.
How can the field name and the form name be used as variables? TIA…

from [url]http://javascript.internet.com/forms/format-phone-number.html#source[/url]

<!– TWO STEPS TO INSTALL FORMAT PHONE NUMBER:

  • 1. Copy the coding into the HEAD of your HTML document

  • 2. Add the last code into the BODY of your HTML document –>
  • <!– STEP ONE: Paste this code into the HEAD of your HTML document –>

    <HEAD>

    <SCRIPT LANGUAGE=”JavaScript”>

    <!– This script and many more are available free online at –>
    <!– The JavaScript Source!! [url]http://javascript.internet.com[/url] –>
    <!– Original: Roman Feldblum ([email protected]) –>

    <!– Begin
    var n;
    var p;
    var p1;
    function ValidatePhone(){
    p=p1.value
    if(p.length==3){
    //d10=p.indexOf(‘(‘)
    pp=p;
    d4=p.indexOf(‘(‘)
    d5=p.indexOf(‘)’)
    if(d4==-1){
    pp=”(“+pp;
    }
    if(d5==-1){
    pp=pp+”)”;
    }
    //pp=”(“+pp+”)”;
    document.frmPhone.txtphone.value=””;
    document.frmPhone.txtphone.value=pp;
    }
    if(p.length>3){
    d1=p.indexOf(‘(‘)
    d2=p.indexOf(‘)’)
    if (d2==-1){
    l30=p.length;
    p30=p.substring(0,4);
    //alert(p30);
    p30=p30+”)”
    p31=p.substring(4,l30);
    pp=p30+p31;
    //alert(p31);
    document.frmPhone.txtphone.value=””;
    document.frmPhone.txtphone.value=pp;
    }
    }
    if(p.length>5){
    p11=p.substring(d1+1,d2);
    if(p11.length>3){
    p12=p11;
    l12=p12.length;
    l15=p.length
    //l12=l12-3
    p13=p11.substring(0,3);
    p14=p11.substring(3,l12);
    p15=p.substring(d2+1,l15);
    document.frmPhone.txtphone.value=””;
    pp=”(“+p13+”)”+p14+p15;
    document.frmPhone.txtphone.value=pp;
    //obj1.value=””;
    //obj1.value=pp;
    }
    l16=p.length;
    p16=p.substring(d2+1,l16);
    l17=p16.length;
    if(l17>3&&p16.indexOf(‘-‘)==-1){
    p17=p.substring(d2+1,d2+4);
    p18=p.substring(d2+4,l16);
    p19=p.substring(0,d2+1);
    //alert(p19);
    pp=p19+p17+”-“+p18;
    document.frmPhone.txtphone.value=””;
    document.frmPhone.txtphone.value=pp;
    //obj1.value=””;
    //obj1.value=pp;
    }
    }
    //}
    setTimeout(ValidatePhone,100)
    }
    function getIt(m){
    n=m.name;
    //p1=document.forms[0].elements[n]
    p1=m
    ValidatePhone()
    }
    function testphone(obj1){
    p=obj1.value
    //alert(p)
    p=p.replace(“(“,””)
    p=p.replace(“)”,””)
    p=p.replace(“-“,””)
    p=p.replace(“-“,””)
    //alert(isNaN(p))
    if (isNaN(p)==true){
    alert(“Check phone”);
    return false;
    }
    }
    // End –>
    </script>

    </HEAD>

    <!– STEP TWO: Copy this code into the BODY of your HTML document –>

    <BODY>

    <div align=”center”>
    <form name=frmPhone>
    <font size=”4″ color=”#0000FF”><b>Enter Telephone Number</b></font><br>
    (To refresh, hold down shift and press the browser refresh button)<br>
    <input type=text name=txtphone maxlength=”13″ onclick=”javascript:getIt(this)” >
    </form>
    </div>

    to post a comment
    JavaScript

    5 Comments(s)

    Copy linkTweet thisAlerts:
    @vwphillipsJul 09.2005 — you may find this more flexible

    [URL]http://www.vicsjavascripts.org.uk/FormCompendium/FormCompendium.htm#f20[/URL]
    Copy linkTweet thisAlerts:
    @CharlesJul 09.2005 — Here's my version of that:&lt;script type="text/javascript"&gt;
    &lt;!--
    function PhoneNumber (s) {this.number = s.replace(/^[01]/, '').replace (/([a-pr-y])/gi, function () {return {a:2, b:2, c:2, d:3, e:3, f:3, g:4, h:4, i:4, j:5, k:5, l:5, m:6, n:6, o:6, p:7, r:7, s:7, t:8, u:8, v:8, w:9, x:9, y:9}[arguments[1].toLowerCase()]}).match(/d/g)}

    PhoneNumber.prototype.toString = function () {return [this.number[0], this.number[1], this.number[2], '-', this.number[3], this.number[4], this.number[5], '-', this.number[6], this.number[7], this.number[8], this.number[9]].join('')}

    String.prototype.isPhoneNumber = function () {return /d{3}-d{3}-d{4}/.test(this)}
    // --&gt;
    &lt;/script&gt;

    &lt;label&gt;Phone number&lt;input onchange="this.value = new PhoneNumber (this.value)" type="text"&gt;&lt;/label&gt;
    Copy linkTweet thisAlerts:
    @felgallJul 09.2005 — My phone number is in the format

    +61 (0) 2 9999 9999

    I can't see anything in the above example codes that would handle this.

    I would use the following regular expression for phone number validation.

    phoneRe = /^((+d{1,3}(-| )?(?d)?(-| )?d{1,3})|((?d{2,3})?))(-| )?(d{3,4})(-| )?(d{4})(( x| ext)d{1,5}){0,1}$/
    Copy linkTweet thisAlerts:
    @CharlesJul 09.2005 — What sort of uncivilized land doesn't have letters in phone numbers? The middle three characters of my 10 character number is "Benson5" which we dial as "be5".
    Copy linkTweet thisAlerts:
    @AshkaanauthorJul 09.2005 — Thank you all for the replies. I appreciate it.

    I used the link Vic mentioned and the script works as well as the one I had downloaded earlier.

    Thanks.
    ×

    Success!

    Help @Ashkaan spread the word by sharing this article on Twitter...

    Tweet This
    Sign in
    Forgot password?
    Sign in with TwitchSign in with GithubCreate Account
    about: ({
    version: 0.1.9 BETA 6.2,
    whats_new: community page,
    up_next: more Davinci•003 tasks,
    coming_soon: events calendar,
    social: @webDeveloperHQ
    });

    legal: ({
    terms: of use,
    privacy: policy
    });
    changelog: (
    version: 0.1.9,
    notes: added community page

    version: 0.1.8,
    notes: added Davinci•003

    version: 0.1.7,
    notes: upvote answers to bounties

    version: 0.1.6,
    notes: article editor refresh
    )...
    recent_tips: (
    tipper: @meenaratha,
    tipped: article
    amount: 1000 SATS,

    tipper: @meenaratha,
    tipped: article
    amount: 1000 SATS,

    tipper: @AriseFacilitySolutions09,
    tipped: article
    amount: 1000 SATS,
    )...