【问题标题】:Regex in Cake model validationCake模型验证中的正则表达式
【发布时间】:2013-03-28 18:38:15
【问题描述】:

我需要验证格式为 XXXXXX-XXXX 的社会保险号(每个 X 代表一个数字;6 位后跟连字符后跟 4 位数字)

这是我用于验证的内容。

'rule' => array('custom', '/[0-9]{6}\-[0-9]{4}/')

但是,这并没有按预期工作。它在连字符之前和之后都接受任意长度的数字,但它应该只验证下面提到的模式。

123456-7898
675443-8765

不应该匹配,

12345677-876
1233-976655
123455-987
12345-08765 and so on ...

【问题讨论】:

    标签: regex validation cakephp cakephp-2.1


    【解决方案1】:

    您需要在模式中为字符串的开头和结尾添加锚点

    /^[0-9]{6}-[0-9]{4}$/
    

    【讨论】:

    • 谢谢!它似乎正在工作。我们不需要转义连字符吗?
    • @Vikram 连字符只是字符类中的元字符
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    相关资源
    最近更新 更多