【问题标题】:Danish Social Security Number validation [closed]丹麦社会安全号码验证[关闭]
【发布时间】:2016-03-19 05:34:02
【问题描述】:

任何人都有脚本或知道我在哪里可以找到用 PHP 验证丹麦社会安全号码的脚本吗?

我需要验证格式,校验和和日期必须是有效数字。

提前致谢!

【问题讨论】:

    标签: php validation


    【解决方案1】:

    According to Wikipedia丹麦 SSN 是一串 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";
        }
    ?>
    

    如果您想更精确地验证,您需要将数字分成更小的组(例如,天、月、年),然后验证每个组。

    【讨论】:

    • 谢谢!但我还需要验证校验和等。
    • 恐怕你不能那样做。来自维基百科:“但是,在 2007 年,该系统下 1965 年 1 月 1 日出生的男性的可用序列号用完了,并且自 2007 年 10 月以来,个人识别号并不总是使用校验位来验证。这已经预测并宣布了几年因此,大多数 IT 系统都假定已更新为接受未通过校验位验证的数字。"
    • @user1878980:考虑到我提到的限制,我可以建议我的答案与您在没有大量工作的情况下获得的一样接近吗?如果是这样,如果您可以将我的答案标记为正确,这将很有帮助,以便其他人受益。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    相关资源
    最近更新 更多