使用できる検証の一覧

使用できる検証の一覧 – 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
     
    
validate_CA の導入 (Previous) Validate_CH (Next)
Last updated: Tue, 15 Apr 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.