【问题标题】:Have HTML5's a inputs pattern attribute ignore case让 HTML5 的输入模式属性忽略大小写
【发布时间】:2011-07-28 08:18:22
【问题描述】:

我需要让 HTML 的输入元素模式忽略值的大小写,
如果正则表达式是 /[a-z]*/ 我可以让它匹配所有大写字母吗?
(我知道我可以只做 /[a-zA-Z]*/,但这是一个例子。)

【问题讨论】:

    标签: regex html input


    【解决方案1】:

    我认为这是不可能的。

    1. <input pattern> [1,2] 上的规范指定

      • 该模式使用 ECMAScript(即 Javascript)风格的正则表达式

      • 编译时“带有全局、ignoreCase 和多行标志禁用

    2. 在 Javascript 中,使正则表达式忽略大小写的唯一方法是在外部设置修饰符 (/.../i)。不支持 PCRE 语法 (?i)

    因此,模式始终区分大小写,而[a-zA-Z]*(即使正则表达式本身显式不区分大小写)是以不区分大小写的方式匹配模式的唯一方法。

    【讨论】:

    • @dominicbri7 “带有 [...] 标志 禁用”。如果忽略大小写的标志被禁用,那么它不会忽略大小写,所以它是区分大小写的。
    • 很好的答案。 (我肩膀上的学究会希望你写“详细”或“明确”而不是“手动”,但这并不会阻止你的回答很有帮助)
    • 在以不区分大小写的方式匹配多个术语时非常不方便
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2010-12-07
    相关资源
    最近更新 更多