使用できる検証の一覧

使用できる検証の一覧 -- Validate_ca で使用できる検証

カナダの社会保障番号の検証

カナダの社会保障番号は、カナダ人全員が所持する SIS カードに記載されています。

チェックデジットは最後の桁で、標準の _get_control_number 関数で計算します。

<?php

// パッケージをインクルードします
require_once('Validate/CA.php');

$badSsn = '012345674';
$result = Validate_CA::ssn($badSsn);
echo 'Test ' . $badSsn .' : <br />';
var_export($result);

echo '<br /><br />';
$goodSsn = '123456782';
$result = Validate_CA::ssn($goodSsn);
echo 'Test ' . $goodSsn .' : <br />';
var_export($result);
?>

出力はこのようになります。

Test 012345674 :
false

Test 123456782 :
true
     

カナダの郵便番号の検証

郵便番号は六文字で表され、ANA NAN 形式となります。 "A" はアルファベット、そして "N" は数字です。

郵便番号はふたつの部分に分かれています。

最初の三文字 (アルファベット - 数字 - アルファベット) が Forward Sortation Area (FSA) です。

これが、その都市または地方の大まかな位置を表します。

FSA の三番目の文字 (M4B) を最初の二つの文字と組み合わせることで、 市、町などの地理的な範囲が決まります。

後半の部分 (数字 - アルファベット - 数字) が Local Delivery Unit (LDU) です。

これは forward sortation area 内での詳細な配送単位を表します。

LDU すなわち郵便番号の最後の三文字で、 FSA 内における最終的な場所が決まります。

都市部においては、この最後の三文字が表す範囲は特定のブロック (交差点で囲まれたひとつの区画) であったりひとつの建物であったり、 ときには大口の受取者であったりすることもあります。

郊外では、最後の三文字 (LDU) と FSA から特定の集落を決定します。

最初のパラメータに、調べたい郵便番号を指定します。

オプションのパラメータで、特定の地域にのみ範囲を絞ります。

<?php

// パッケージをインクルードします
require_once('Validate/CA.php');

$badPostCode = '48103';
$result = Validate_CA::postalCode($badPostCode);
echo 'Test ' . $badPostCode .' : <br />';
var_export($result);

echo '<br /><br />';
$goodPostCode = 'H2M 2J1';
$result = Validate_CA::postalCode($goodPostCode);
echo 'Test ' . $goodPostCode .' : <br />';
var_export($result);
?>

出力はこのようになります。

Test 48103 :
false

Test H2M 2J1 :
true
     

province パラメータを使用する例

H2M 2J1 は正しい郵便番号のように見えますが、その地域には存在しません。
<?php

// パッケージをインクルードします
require_once('Validate/CA.php');

$postalCode = 'H2M 2J1'; // モントリオール近辺

$result = Validate_CA::postalCode($postalCode);
echo 'Test ' . $postalCode .' : <br />';
var_export($result);

echo '<br /><br />';
$result = Validate_CA::postalCode($postalCode,'QC');
// QC はモントリオールを表します
echo 'Test ' . $postalCode .' in QC: <br />';
var_export($result);

echo '<br /><br />';
$result = Validate_CA::postalCode($postalCode,'AB');
// AB はトロントを表します
echo 'Test ' . $postalCode .' in AB: <br />';
var_export($result);

?>

出力はこのようになります。

Test H2M 2J1 :
true

Test H2M 2J1 in QC:
true

Test H2M 2J1 in AB:
false
     

電話番号の検証

カナダとアメリカの電話番号体系は同じです。というわけで Validate_US::phoneNumber() をコールすることもできます。

7 桁の数字のみを許可します。

(xxx) xxx-xxxx、xxx xxx-xxxx、 そして x (xxx) xxx-xxxx といった形式でも許可しますし、 スペースやダッシュを含まない形式でも許可します。

<?php
// パッケージをインクルードします
require_once('Validate/CA.php');

$phoneNumber = '467875098x';
$result = Validate_CA::phoneNumber($phoneNumber);
echo 'Test ' . $phoneNumber .' : <br />';
var_export($result);
echo '<br />';

$phoneNumber = '4678750987';
$result = Validate_CA::phoneNumber($phoneNumber);
echo 'Test ' . $phoneNumber .' : <br />';
var_export($result);

?>

出力はこのようになります。

Test 467875098x :
false
Test 4678750987 :
true
     

パラメータつきの例です。

<?php
// パッケージをインクルードします
require_once('Validate/CA.php');

$phoneNumber = '8750987';
$result = Validate_CA::phoneNumber($phoneNumber,false);
echo 'Test ' . $phoneNumber .' : <br />';
var_export($result);

echo '<br /><br />';
$phoneNumber = '8750987';
echo 'Test ' . $phoneNumber .' : <br />';
echo 'With $requireAreaCode false <br />';
$result = Validate_CA::phoneNumber($phoneNumber,false);
var_export($result);
echo '<br />';
echo 'With $requireAreaCode true<br />';
$result = Validate_CA::phoneNumber($phoneNumber,true);
var_export($result);


echo '<br /><br />';
$phoneNumber = '(467)8750987';
echo 'Test ' . $phoneNumber .' : <br />';
echo 'With $requireAreaCode false <br />';
$result = Validate_CA::phoneNumber($phoneNumber,false);
var_export($result);
echo '<br />';
echo 'With $requireAreaCode true<br />';
$result = Validate_CA::phoneNumber($phoneNumber,true);
var_export($result);


?>

出力はこのようになります。

Test 8750987 :
true

Test 8750987 :
With $requireAreaCode false
true
With $requireAreaCode true
false

Test (467)8750987 :
With $requireAreaCode false
false
With $requireAreaCode true
true