Page 1 of 1

Phone format

Posted: 29 Nov 2017, 07:26
by Dimple_L
My imput cell phone no is 12345678910 (11 digits) but after i saved, it changed to 234-567-8910 (10 digits).
I want to remove this format, please help.

Re: Phone format

Posted: 11 Dec 2017, 12:23
by RussH
Hey there,

I assume the phone no validation trims your input.

I'd start here and look at the phone number regex to see why your phone no doesn't pass;

https://github.com/opencats/OpenCATS/bl ... tility.php

Re: Phone format

Posted: 11 Oct 2018, 20:56
by ARecruiter
Hi there,

Would this be lines 43 and 44? I'm inputting UK numbers and they are converted to US format. Out numbers are 11 digits beginning with 0. As with the above poster, the numbers I input change to a xxx-xxx-xxxx format.

Re: Phone format

Posted: 23 Oct 2018, 15:27
by RussH
Hi,

without learning PCRE, I plugged different nos in and this doesn't reformat the phone number. I'm also in the UK. I'll need to revisit at some point and do it properly, but if you want an ugly hack, here's the section I changed;
Code: Select all
class StringUtility
{
    const matchPHSeparator    = '[\s\/.-]*';                            /* PCRE */
    const matchPHCountryCode  = '[(]?[+]?\d{0,3}[)]?';                  /* PCRE */
    const matchPHECountryCode = '[(]?[+]?(?P<countryCode>\d{0,3})[)]?'; /* PCRE */
    const matchPHAreaCode     = '[(]?[2-9]{1}\d{2}[)]?';                /* PCRE */
    const matchPHEAreaCode    = '[(]?(?P<areaCode>[2-9]{1}\d{2})[)]?';  /* PCRE */
    const matchPHExchange     = '\d{4}';                                /* PCRE */
    const matchPHEExchange    = '(?P<exchange>\d{4})';                  /* PCRE */
    const matchPHNumber       = '\d{4}';                                /* PCRE */
    const matchPHENumber      = '(?P<number>\d{4})';                    /* PCRE */

    const matchPHExtension  = '([(]?(?:e?xt?(?:ension|)|#|[*]|)[)]?[\s\/.-]*\d{1,6}[)]?)?';                /* PCRE */
    const matchPHEExtension = '([(]?(?:e?xt?(?:ension|)|#|[*]|)[)]?[\s\/.-]*(?P<extension>\d{1,6})[)]?)?'; /* PCRE */
..otherwise if you want it 'correctly formatted for UK' then you can check out the UK compatible PCRE which is listed here http://regexlib.com/UserPatterns.aspx?a ... eSupport=1