使用できる検証の一覧
使用できる検証の一覧 – 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