当前位置:  开发笔记 > 后端 > 正文

跟踪数字的正则表达式模式

如何解决《跟踪数字的正则表达式模式》经验,为你挑选了2个好方法。

是否有人知道检查哪个公司跟踪号是包的给定跟踪号的好地方或模式.想法是在扫描条形码后查找带有图案的包裹检查跟踪编号,并显示它所运送的公司.



1> Adil..:

我想我会发布一个更新,因为我正在通过jquery进行匹配并自动选择合适的运输公司.我为我的项目编制了一个匹配的正则表达式列表,我测试了UPS FedEX和USPS中的大量跟踪数字.

如果您遇到不匹配的内容,请通过评论告诉我这里,我也会尝试提供.

UPS:

/\b(1Z ?[0-9A-Z]{3} ?[0-9A-Z]{3} ?[0-9A-Z]{2} ?[0-9A-Z]{4} ?[0-9A-Z]{3} ?[0-9A-Z]|[\dT]\d\d\d ?\d\d\d\d ?\d\d\d)\b/

FedEX :( 3个不同的人)

/(\b96\d{20}\b)|(\b\d{15}\b)|(\b\d{12}\b)/
/\b((98\d\d\d\d\d?\d\d\d\d|98\d\d) ?\d\d\d\d ?\d\d\d\d( ?\d\d\d)?)\b/
/^[0-9]{15}$/

USPS :( 4种不同的)

/(\b\d{30}\b)|(\b91\d+\b)|(\b\d{20}\b)/
/^E\D{1}\d{9}\D{2}$|^9\d{15,21}$/
/^91[0-9]+$/
/^[A-Za-z]{2}[0-9]+US$/

请注意,我自己没有拿出这些.我只是搜索并编译了不同来源的列表,包括可能在这里提到的一些.

谢谢

编辑:修复了缺少结束分隔符.


UPS也有邮件创新跟踪号码(http://www.ups.com/content/us/en/tracking/help/tracking/tnh.html),所以我不得不向你推荐你的up正则表达式到/\b(1Z?[ 0-9A-Z] {3}?[0-9A-Z] {3}?[0-9A-Z] {2}?[0-9A-Z] {4}?[0-9A-Z] {3}?[0-9A-Z] | [\ dT]\d\d\d?\ d\d\d\d?\ d\d\d |\d {22})\ b/i to包括这些
有一个名为[tracking_number]的Ruby库(https://github.com/jkeen/tracking_number).它可以识别跟踪号码.我建议你看看.

2> Lunatik..:

我按下了皇家邮政的正式发布,用于记录交付和特殊交付跟踪参考,但没有走得太远.即使是一套完整的规则,所以我可以推出自己的规则超出了他们的范围.

基本上,即使他们花了大约一个星期并且回来后用各种字母组合表示服务类型,我能够提供我们的经验中的例子,这些例子表明有其他组合明显有效,但他们没有记录.

参考文献遵循我认为Jefe的/^[A-Za-z]{2}[0-9]+GB$/正则表达式所描述的明显标准的国际格式:

XX123456789GB

即使这似乎是一种标准格式,即大多数国际邮件具有相同的格式,其中最后两个字母表示原产国,我无法再找到关于这个"标准"的信息或它来自何处(任何澄清欢迎!).

特别是皇家邮政似乎是使用前两个字母来表示服务水平.我已经设法编制了一个表示特殊交付的前缀列表,但我不相信它是100%完成的:

AD AE AF AJ AK AR AZ BP CX DS EP HC HP KC KG
KH KI KJ KQ KU KV KW KY KZ PW SA SC SG SH SI
SJ SL SP SQ SU SW SY SZ TX WA WH XQ WZ

如果没有这些前缀之一,则服务是Recorded Delivery,它提供交付确认但不进行跟踪.

通常情况下,包含S,X或Z表示更高的服务水平,我认为我从未见过正常的Recorded Delivery项目,前缀中包含任何这些字母.

但是,正如您所看到的,如果要使用正则表达式检查服务级别,则需要测试许多前缀,并且考虑到Royal Mail似乎无法提供全面的规则集,那么尝试测试服务级别可能是徒劳的.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有