16 lines
1.1 KiB
JavaScript
16 lines
1.1 KiB
JavaScript
/* For UK phone functions, do the following server side processing:
|
|
* Compare original input with this RegEx pattern:
|
|
* ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$
|
|
* Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0'
|
|
* Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2.
|
|
* A number of very detailed GB telephone number RegEx patterns can also be found at:
|
|
* http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
|
|
*/
|
|
|
|
// Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers
|
|
$.validator.addMethod( "phonesUK", function( phone_number, element ) {
|
|
phone_number = phone_number.replace( /\(|\)|\s+|-/g, "" );
|
|
return this.optional( element ) || phone_number.length > 9 &&
|
|
phone_number.match( /^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/ );
|
|
}, "Please specify a valid uk phone number" );
|