2015-12-13 42 views
-5

任何人都有一個腳本或知道我可以找到一個在PHP驗證丹麥社會安全號碼?丹麥社會安全號碼驗證

我需要驗證的格式,校驗和和日期需要是有效的數字。

提前致謝!

回答

0

According to Wikipedia丹麥攻擊核潛艇是10位數字與數字6和7有鑑於此之間的連字符的字符串,你可以使用正則表達式等進行快速驗證作爲"/[0-9]{6}-[0-9]{4}/" - 任何六位數字,然後一個連字符,然後再任何四位數字。

下面是一個例子代碼:

<?php 
    $goodSSN = "220177-1234"; 
    $badSSN = "220A77-1234"; 

    $regex = "/[0-9]{6}-[0-9]{4}/"; 

    if (preg_match($regex, $goodSSN)) { 
     echo "Good: You should see this message because this was a good SSN.\n"; 
    } else { 
     echo "Good: You won't see this message.\n"; 
    } 

    if (preg_match($regex, $badSSN)) { 
     echo "Bad: You won't see this message.\n"; 
    } else { 
     echo "Bad: You should see this message because this was a bad SSN.\n"; 
    } 
?> 

如果你想更精確地驗證,你必須打破了數字成更小的羣體(例如天,月,年),然後驗證每個組。

+0

謝謝!但我也需要驗證校驗和等。 – user1878980

+0

恐怕你不能這麼做。維基百科:「然而,在2007年,這個系統下出生於1965年1月1日的男性的可用序列號用完了,自2007年10月以來,個人識別號碼並不總是使用校驗位進行驗證,這已經預測並宣佈了數年提前。**因此,大多數IT系統被假定更新爲接受校驗位驗證失敗的數字**。「 – TwoStraws

+0

@ user1878980:鑑於我提到的限制,我可以建議我的答案儘可能接近於沒有更多工作的情況嗎?如果是這樣,如果您能夠將我的答案標記爲正確,以便其他人可以受益,這將會很有幫助。 – TwoStraws