phone.jo.inc in Phone 7
This plugin is contributed by Untitled Web http://untitledstudios.com @author Rashad Majali <rashad.612@gmail.com> http://drupal.org/user/319686
CCK Field for Jordanian phone numbers.
File
include/phone.jo.incView source
<?php
/**
* This plugin is contributed by Untitled Web http://untitledstudios.com
* @author Rashad Majali <rashad.612@gmail.com> http://drupal.org/user/319686
* @file
* CCK Field for Jordanian phone numbers.
*/
function phone_jo_metadata() {
// These strings are translated using t() on output.
return array(
'error' => '"%value" is not a valid Jordanian phone number, Please check the spaces and dashes in your number.',
);
}
/**
* Verification for Jordanian Phone Numbers.
*
* @param string $phonenumber
* @return boolean Returns boolean FALSE if the phone number is not valid.
*/
function valid_jo_phone_number($phonenumber) {
/**
Accepts:
Mobile numbers: (X refers to network code, it might be 7,8,9).
+9627X1234567
+962-7X1234567
+962 7X1234567
009627X1234567
00962-7X1234567
00962 7X1234567
962... accepted as well
07X1234567
Local area numbers: (X refers to region code, i.e. Amman[6], north [2], middle [5], south[3]).
+962X1234567
+962-X-1234567
+962X-1234567
+962 X 1234567
+962X 1234567
+962 X1234567
00962X1234567
00962-X-1234567
00962X-1234567
00962 X 1234567
00962X 1234567
00962 X1234567
962... accepted as well
0X1234567
0X-1234567
0X 1234567
Rejects:
Generally rejects any number without leading code.
starts with X instead of 0X
Mobile:
7X1234567
7 X1234567 and similar formats
+962 7 X1234567 and similar formats
Local:
X1234567
X-1234567
X 1234567 and similar formats
*/
$regex = "/(^(\\+962|00962|962|0)[-\\s]{0,1}[7]{1}[7-9]{1}[0-9]{7}\$) | (^(\\+962|00962|962|0)[-\\s]{0,1}[2-6][-\\s]{0,1}[0-9]{7}\$)/x";
return (bool) preg_match($regex, $phonenumber);
}
/**
* Formatting for Jordanian Phone Numbers.
*
* @param string $phonenumber
* @return string Returns a string containting the phone number with some formatting.
*/
function format_jo_phone_number($phonenumber, $field = FALSE) {
$phonenumber = trim($phonenumber);
$regex = "/(^(\\+962|00962|962|0)[-\\s]{0,1}[7]{1}[7-9]{1}[0-9]{7}\$) | (^(\\+962|00962|962|0)[-\\s]{0,1}[2-6][-\\s]{0,1}[0-9]{7}\$)/x";
preg_match($regex, $phonenumber, $matches);
$phonenumber = preg_replace('/^(\\+962|00962|962|0)|[-\\s]/', '', $matches[0]);
return '+962' . $phonenumber;
}
Functions
Name | Description |
---|---|
format_jo_phone_number | Formatting for Jordanian Phone Numbers. |
phone_jo_metadata | This plugin is contributed by Untitled Web http://untitledstudios.com @author Rashad Majali <rashad.612@gmail.com> http://drupal.org/user/319686 @file CCK Field for Jordanian phone numbers. |
valid_jo_phone_number | Verification for Jordanian Phone Numbers. |