Brad Pitcher stepped in and made the various code conversions.

There's just a few more changes and updates to go and the module will be 
complete.


On Wednesday, September 5, 2012 11:05:45 PM UTC, g1smd.1 wrote:
>
>
> The GB number plan is quite complicated, with a variety of number lengths 
> and formats.
> Some of it is detailed here:
> http://www.aa-asterisk.org.uk/index.php/Number_format
>
> I already compiled all the RegEx patterns that are needed. Some are listed 
> here:
>
> http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_UK_Telephone_Numbers
>
> I've already started the process of translating a fully working PHP 
> routine (that I wrote from scratch) into python. There will be syntax 
> errors in the python version as I don't understand all that much of the 
> python language.
>
> The python functionality so far....  
> https://github.com/django/django/pull/324/files
> or
>
> https://github.com/g1smd/django/blob/master/django/contrib/localflavor/gb/forms.py
>
> The code using an array is probably not quite right, and I guess it would 
> be better to return error messages instead of "false" in some places.
>
> However, I'd guess that someone who knows what they were doing could get 
> it working in an hour or two.
>
>
>
> On Wednesday, September 5, 2012 6:24:42 PM UTC, Amyth wrote:
>>
>> To be frank, I am not really familiar with all possibilities of GB phone 
>> numbers, if you could throw some light on this, I might be able to help ya.
>>
>> On Wed, Sep 5, 2012 at 5:59 PM, g1smd.1 <g1smd...@gmail.com> wrote:
>>
>>>
>>> Thanks for the reply and information.
>>>
>>>
>>> The jQuery validation routines for GB telephone numbers contain 
>>> significant errors and shortcomings. I already posted some patches 
>>> correcting many of those problems at least a month ago, but they haven't 
>>> been reviewed yet.
>>>
>>>
>>> The new Python/django telephone number validation code I am proposing 
>>> here is far more comprehensive and has much more detailed range and length 
>>> checking. Similar code already works fine in PHP and Java elsewhere, but I 
>>> am having trouble converting it all to Python. 
>>>
>>> I have added some Python logic and code to the initial RegEx patterns 
>>> that I posted yesterday, but I now need help to finish it off and get it 
>>> working. I am not at all familiar with the Python syntax and the manual is 
>>> somewhat terse and obtuse.
>>>
>>> I had a problem with GitHub this morning, so the pull request is now at 
>>> https://github.com/django/django/pull/324
>>>
>>> The code so far, can be found at: 
>>> https://github.com/g1smd/django/blob/master/django/contrib/localflavor/gb/forms.py
>>>
>>> I'm guessing that someone proficient in Python could finish it off in a 
>>> couple of hours or less.
>>>
>>> Any volunteers?
>>>
>>>
>>>
>>>
>>> On Wednesday, September 5, 2012 7:02:09 AM UTC, Amyth wrote:
>>>>
>>>> you can alternatively use jquery to validate the field, i do not have 
>>>> the link handy as m on my phone right now but google validation engine, it 
>>>> is one of the most powerful jquery validation library which also has 
>>>> builtin method of validating uk phone numbers.
>>>> On Sep 4, 2012 5:00 AM, "g1smd.1" <g1smd...@gmail.com> wrote:
>>>>
>>>>>  I see that there are routines for validating telephone numbers in 
>>>>> forms in Django for several countries.
>>>>>
>>>>> The code for that can usually be found in the forms.py file located in 
>>>>> the various country folders here:
>>>>> https://github.com/django/**django/tree/master/django/**
>>>>> contrib/localflavor<https://github.com/django/django/tree/master/django/contrib/localflavor>
>>>>>  
>>>>>
>>>>> So far, there is nothing for GB numbers, here:
>>>>> https://github.com/django/**django/tree/master/django/**
>>>>> contrib/localflavor/gb<https://github.com/django/django/tree/master/django/contrib/localflavor/gb>
>>>>>
>>>>> I've written a bunch of RegEx patterns to get this functionality 
>>>>> started. The patterns are 100% fully tested. All that's needed is a few 
>>>>> lines of python logic to string them together. The details can be found 
>>>>> at:
>>>>> https://github.com/django/**django/pull/316/files<https://github.com/django/django/pull/316/files>
>>>>>
>>>>> My python foo is almost zero. Anyone care to have a go at getting this 
>>>>> to work?
>>>>>
>>>>> RegEx 1 checks the user entered something that looks like a GB 
>>>>> telephone number:
>>>>> 020  3000  5555
>>>>> 02075  567  234
>>>>> 0114  223  4567
>>>>> 01145  345  567
>>>>> +44  1213  456  789
>>>>> 00  44  (0)  1697  73555
>>>>> 011  44  11  4890  2345
>>>>> and several other formats, without worrying if the format is correct 
>>>>> for this particular number (but read on). It allows for national or 
>>>>> international format, even for two common international dial prefixes. 
>>>>> What 
>>>>> is most important is that the user enters the right number of digits. 
>>>>> Don't 
>>>>> constrain the user to use a particular format for entry.
>>>>> "Be lenient in what you accept, be strict in what you send." (Postel's 
>>>>> Law)
>>>>>
>>>>> RegEx 2 extracts the NSN part of the number in $3, with "44" or NULL 
>>>>> in $2 (so you know if international or national format was used on 
>>>>> input), 
>>>>> and any extension in $4. Store $2 and $4 for later. Send $3 on to RegEx 3.
>>>>>
>>>>> RegEx 3 tests the NSN part of the number is in a valid range and has 
>>>>> the right number of digits for that range (GB numbers can be 9 or 10 
>>>>> digits 
>>>>> long). This RegEx pattern is very detailed. You can say that a number is 
>>>>> possible or is invalid with this RegEx.
>>>>>
>>>>> RegEx Group 4. Here, there's a bunch of RegEx patterns that specify 
>>>>> how a GB number should be formatted, detailed by number length and 
>>>>> initial 
>>>>> digits. These rules cover all GB numbers.
>>>>>
>>>>> The last bit is to add the 0 or +44 back on, and append the original 
>>>>> extension number (if present) and present it back to the user.
>>>>>
>>>>> 020  3000  5555 => Valid: 020  3000  5555
>>>>> 02075  567  234 => Valid: 020  7556  7234
>>>>> 0114  223  4567 => Valid: 0114  223  4567
>>>>> 01145  345  567 => Valid: 0114  534  5567
>>>>> +44  1213  456  789 => Valid: +44  121  345  6789
>>>>> 00  44  (0)  1697  73555 => Valid: +44  16977  3555
>>>>> 011  44  11  4890  2345 => Valid: +44  114  890  2345
>>>>> 0623 111 3456 => NOT VALID
>>>>>
>>>>>
>>>>>  -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "Django users" group.
>>>>> To view this discussion on the web visit https://groups.google.com/d/*
>>>>> *msg/django-users/-/**h0iG7nJrXikJ<https://groups.google.com/d/msg/django-users/-/h0iG7nJrXikJ>
>>>>> .
>>>>> To post to this group, send email to django...@googlegroups.com.
>>>>> To unsubscribe from this group, send email to django-users...@**
>>>>> googlegroups.com.
>>>>>
>>>>> For more options, visit this group at http://groups.google.com/**
>>>>> group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en>
>>>>> .
>>>>>
>>>>
>>>
>>>  
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Django users" group.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msg/django-users/-/Zohb6P8AsaIJ.
>>>
>>> To post to this group, send email to django...@googlegroups.com.
>>> To unsubscribe from this group, send email to 
>>> django-users...@googlegroups.com.
>>> For more options, visit this group at 
>>> http://groups.google.com/group/django-users?hl=en.
>>>
>>
>>
>>
>> -- 
>> Thanks & Regards
>> ----------------------------
>>
>> Amyth [Admin - Techstricks]
>> Email - aroras....@gmail.com, ad...@techstricks.com
>> Twitter - @a_myth_________
>> http://techstricks.com/
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/lOF7L4xFpVIJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to