【问题标题】:regex_match codeigniter lengthregex_match 代码点火器长度
【发布时间】:2012-10-30 18:35:58
【问题描述】:

我似乎无法在代码点火器文档中找到任何关于此的内容,但我正在尝试在我的表单中设置长度验证,这可能吗?

regex_match[/^[0-9().-]+$/]

这是电话号码。

【问题讨论】:

    标签: regex codeigniter


    【解决方案1】:

    使用这个正则表达式:

    ^[0-9().-]{n,m}$
    

    其中 n=最小长度,m=最大长度。

    您可以省略最大值以指定最小值,即

    ^[0-9().-]{n,}$
    

    或省略最小值以指定最大值,即

    ^[0-9().-]{,m}$
    

    但这与^[0-9().-]{0,m}$ 相同,因此不如仅最低版本有用。

    【讨论】:

    • 你也可以用 {,m} 来做最多 m 个匹配,用 {m} 来得到精确的 m。
    • 我试过了,没用required|regex_match[/^[0-9().-]+$/]{,18}
    • $this->form_validation->set_rules('homephone', 'Home Phone', 'required|regex_match[/^[0-9().-]+$/]{,18} |xss_clean');
    • 你在正则表达式外面有大括号!这样做:regex_match[/^[0-9().-]{,18}$/]
    • 定义“无效”。您是否收到正则表达式解析错误,或者输入是否与您预期的匹配/不匹配?请注意,我不知道 codeignighter 语法,所以我无能为力。我确实很了解正则表达式,这是一个正确的正则表达式
    【解决方案2】:

    您可以按照此答案中的说明进行操作:Creating a custom codeigniter validation rule。然后使用常规的php正则表达式进行验证。

    【讨论】:

      【解决方案3】:

      这对我有用:
      regex_match[/^[0-9.-]{0,18}+$/]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-09
        • 2011-06-04
        • 2016-01-28
        • 2012-06-30
        • 2012-02-21
        • 2011-03-29
        相关资源
        最近更新 更多