【问题标题】:What variation of regular expressions is supported by an input pattern?输入模式支持哪些正则表达式变体?
【发布时间】:2014-10-14 01:20:14
【问题描述】:

HTML5 <input>pattern 属性支持哪些正则表达式变体?是 POSIX(BREERE)、PCRE 还是其他?我特别想知道支持哪些元字符、字符类和子表达式。

【问题讨论】:

    标签: regex html html-input


    【解决方案1】:

    正则表达式语言与 JavaScript 相同。

    来自https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input

    或者,如果您愿意:

    pattern 属性指定一个正则表达式, 控件的值,或者,当应用并设置了多个属性时, 控件的值,要检查。

    如果指定,属性的值必须匹配 JavaScript 模式 生产。 [ECMA262]

    如果输入元素具有指定的模式属性,并且 属性的值,编译为 JavaScript 正则表达式 禁用 global、ignoreCase 和 multiline 标志(参见 ECMA262 第 5 版,第 15.10.7.2 至 15.10.7.4 节),编译 成功,那么生成的正则表达式就是元素的 编译模式正则表达式。如果元素没有这样的 属性,或者如果该值未成功编译,则 元素没有编译模式正则表达式。 [ECMA262]

    […]

    编译的模式正则表达式,当匹配一个字符串时,它的开始必须锚定到字符串的开始,它的结束锚定到字符串的结尾。

    来自http://www.w3.org/TR/html5/forms.html#the-pattern-attribute

    【讨论】:

    • +1。但是请注意,与 JavaScript 的 test 函数相比,该模式自动锚定到字符串的开头和结尾。
    猜你喜欢
    • 2012-03-09
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多