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

2017-10-10 10:54:37 +08:00
 mune

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

24165 次点击
所在节点    PHP
10 条回复
hantsy
2017-10-10 10:59:59 +08:00
应该有规律的,不然护照为什么其他国家都可以扫描识别。。。
Patrick95
2017-10-10 11:06:51 +08:00
这个没什么规律吧…
unity0703
2017-10-10 11:08:02 +08:00
每个国家都写一个正则,一个一个匹配,匹配出来就终止不行吗,这样还可以判断是哪个国家的护照
lixiangzaizheli
2017-10-10 11:17:58 +08:00
先选一个下拉框再匹配正则不就可以了
yulitian888
2017-10-10 11:54:39 +08:00
歪楼,护照不带芯片的么,扫啊!
580a388da131
2017-10-10 12:15:37 +08:00
先选择国家 /地区呗
如果是一堆不带国家的数据,貌似也没啥意义吧
admin0113
2017-10-10 12:18:16 +08:00
luozic
2017-10-10 12:40:29 +08:00
规则写数据库做白名单。
MC
2017-10-10 12:47:46 +08:00
@yulitian888 中国的话,G 开头的老护照都没有芯片,现在很多老护照都还没到期,相信其他国家也会有类似问题
shmilypeter
2017-10-10 14:12:32 +08:00
护照作为机读证件,作为一个国际旅行证件,遵循统一的标准,并且有相应的机读 API 等解决方案

http://www.highprogrammer.com/alan/numbers/mrp.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/396389

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX