使用 Jquery Validation 验证印度车辆编号的车辆编号

Posted

技术标签:

【中文标题】使用 Jquery Validation 验证印度车辆编号的车辆编号【英文标题】:Validating Vehicle Numbers of Indian Vehicle number with Jquery Validation 【发布时间】:2017-05-20 19:43:50 【问题描述】:

我想在我的 php 应用程序中的 jquery 验证器插件 https://jqueryvalidation.org/ 中验证印度车号。

如何使用regex 添加其他方法来验证这些数字格式?

[AA]-[00|0]-[BB|B]-[0000|000|00|0] Ex: DL-01-X-1234, DL-01-XL-123 // 这些是新的车号格式

[AAA]-[0000|000|00|0] 例如:CNX-1234,CNX-123 // 这是旧的数字格式

我想在同一个additional method 中验证这两种格式。

到目前为止我所做的是

(?:([A-Z]2,3)-(?:[0-9]4)-(?:[A-Z]1,2)-(?:[0-9]1,4))

这仅验证 [AA]-[00|0]-[BB|B]-[0000|000|00|0] bot not [AAA]-[0000|000|00|0]

这个问题以前可能被别人问过,但我认为我的完全不同:)

【问题讨论】:

【参考方案1】:

这个正则表达式怎么样:

([A-Z]2,3)-(\d2,4)|([A-Z]2,3)-\d2-[A-Z]1,2-\d1,4

`([A-Z]2,3)-(\d2,4)` matches second type of numbers as mentioned in OP
`([A-Z]2,3)-\d2-[A-Z]1,2-\d1,4` matches second type of numbers as mentioned in OP

演示:https://regex101.com/r/DE1zmf/2

编辑

根据您的评论,我意识到正则表达式可以简化为 ^[A-Za-z]2,3(-\d2(-[A-Za-z]1,2)?)?-\d3,4$ 这符合您的所有 3 个条件

演示:https://regex101.com/r/DE1zmf/8

【讨论】:

谢谢。添加了对DL-01-1234 的验证,也使用此((([A-Za-z])3-\d1,4)|([A-Za-z]2-\d2-[A-Za-z]1,2-\d1,4)|([A-Za-z]2-\d2-\d1,4)) 感谢您简化的正则表达式。这个新的正则表达式的一个问题是DL-01 也返回valid,因为这不是一个有效的车辆号码。它应该像DLL-01DL-01-122DL-01-D-123 等, 仍然 DL-01 返回有效但不是 @ABCatella 与^[A-Za-z]2,3(-\d2(-[A-Za-z]1,2)?)?-\d2,4$一起使用

以上是关于使用 Jquery Validation 验证印度车辆编号的车辆编号的主要内容,如果未能解决你的问题,请参考以下文章

jQuery学习jQuery插件的使用与写法(表单验证插件-validation)

jquery表单验证插件validation

jQuery常用插件与jQuery使用validation插件实现表单验证实例

Jquery号码验证+印度

jquery插件,表单验证validation plugin的使用

jquery.validation.js 表单验证 完整例子使用