V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mune
V2EX  ›  PHP

每个国家的护照号码的格式是不一样的,请问如何书写匹配不同国家护照号码的正则?

  •  
  •   mune · 2017-10-10 10:54:37 +08:00 · 24215 次点击
    这是一个创建于 2635 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如, 美国、英国护照号码:9 位数字 加拿大护照:2 个字母加 6 个数字 法国护照:2 个数字加 2 个字母加 5 个数字 意大利护照:2 个字母加 7 个数字 西班牙护照:3 个字母加 6 个数字 德国护照:9 个字符,由 2-3 个数字与 6-7 个字母混排,头尾是字母。或者单纯为 9 个数字

    第 1 条附言  ·  2017-10-17 12:17:26 +08:00
    感谢大家提供的思路和方案,已成功解决问题,在下不一一回复了,祝大家生活愉快,轻松工作!
    10 条回复    2017-10-10 14:12:32 +08:00
    hantsy
        1
    hantsy  
       2017-10-10 10:59:59 +08:00
    应该有规律的,不然护照为什么其他国家都可以扫描识别。。。
    Patrick95
        2
    Patrick95  
       2017-10-10 11:06:51 +08:00
    这个没什么规律吧…
    unity0703
        3
    unity0703  
       2017-10-10 11:08:02 +08:00
    每个国家都写一个正则,一个一个匹配,匹配出来就终止不行吗,这样还可以判断是哪个国家的护照
    lixiangzaizheli
        4
    lixiangzaizheli  
       2017-10-10 11:17:58 +08:00
    先选一个下拉框再匹配正则不就可以了
    yulitian888
        5
    yulitian888  
       2017-10-10 11:54:39 +08:00   ❤️ 1
    歪楼,护照不带芯片的么,扫啊!
    580a388da131
        6
    580a388da131  
       2017-10-10 12:15:37 +08:00
    先选择国家 /地区呗
    如果是一堆不带国家的数据,貌似也没啥意义吧
    admin0113
        7
    admin0113  
       2017-10-10 12:18:16 +08:00
    luozic
        8
    luozic  
       2017-10-10 12:40:29 +08:00 via iPhone
    规则写数据库做白名单。
    MC
        9
    MC  
       2017-10-10 12:47:46 +08:00
    @yulitian888 中国的话,G 开头的老护照都没有芯片,现在很多老护照都还没到期,相信其他国家也会有类似问题
    shmilypeter
        10
    shmilypeter  
       2017-10-10 14:12:32 +08:00
    护照作为机读证件,作为一个国际旅行证件,遵循统一的标准,并且有相应的机读 API 等解决方案

    http://www.highprogrammer.com/alan/numbers/mrp.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5409 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:11 · PVG 16:11 · LAX 00:11 · JFK 03:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.