[4]
input
要素と
textarea
要素の
pattern
属性は、
値が一致しなければならないパターンを指定します。
WF2 2.6
[5]
pattern
属性値は、
ECMA 262 第3版で規定されている正規表現です。
WF2 2.6
[10]
ただし、利用者エージェントは、
値全体に対して一致するか検査しなければなりません。
つまり、最初に ^(?:
が、最後に
)$
があるものとして扱われます。
また、旗 global
, ignoreCase
,
multiline
はいずれも無効としなければなりません。
WF2 2.6
[7] 既定値
この属性が与えられなければ、 パターンの制約はないものとされます。 WF2 2.6
[18] 誤り処理
属性値が妥当な正規表現でない場合、
値の妥当性検証に関しては、
pattern
属性値が与えられなかったかのように処理します。
WF2 2.6
[32] 利用者エージェントは、コンパイルに失敗した時は、 著者を助けるため開発者コンソールに報告するべきです >>28。
[8]
フォームを提出するためには、
pattern
属性で指定されたパターンに欄の値が一致しなければなりません。
WF2 2.6
[15]
email
と url
では、 type
の定義上の値の制約に加え、
pattern
の制約にも一致しなければなりません。
WF2 2.6
[17]
利用者エージェントは、値が
pattern
と一致しない場合、
旗 patternMismatch
を設定しなければなりません。
WF2 2.6
[19]
なお、値が選択されていない欄は、
pattern
と一致する必要はありません。
WF2 2.6
[1] Web Forms 2.0 では、利用者エージェントが、
安全性のために、著者が指定できる値の長さを制限することを勧めています。
例として、 pattern
に指定した正規表現の評価に長くかかり過ぎるなら、
長さを制限すればよい、と述べています。
[20]
著者は、 pattern
属性の説明を title
属性に含めるようにするべきです。
利用者エージェントは、
pattern
に一致しない時やその他適切な時に利用者に
title
属性の内容を通知して構いません。
WF2 2.6
[22]
pattern
属性と
title
属性の両方を使用する場合、
title
属性はパターンを説明しなければなりません。
利用者がその欄に入力するに当たって有用ならば、
他の情報も含めることもできます。
WF2 2.6
[23]
利用者エージェントは、 tooltip
その他の方法で、誤りがなくとも title
をレンダリングして構いません。
利用者は、誤りが起こったことを前提とする文言にしないように注意するべきです。
WF2 2.6
pattern="[\x00-\x7F]+"
url
や email
で使うと、 IDN の (IDNA 符号化されていない)
ドメイン名の提出を阻止できます。
<label> Credit Card Number: <input type="text" pattern="[0-9]{13-16}" name="cc" /> </label>
WF2 2.6
pattern="/etc/.+"
pattern="\/etc\/.+"
ECMAScript のソース・コード中とは異なり、
/
は特別な意味を持ちません (>>13)。
ですから、この2つの例はいずれも同じ意味になります。
[16] WF2 2.6
<form> <p> This form could never be submitted, as the following required field can never be satisfied: <input type="url" pattern="[^:]+" required="required" name="test"/> </p> </form>
この例では、値は IRI としなければなりません
(type
url
) し、
:
が含まれないようにしなければなりません
(pattern
) し、
値が選択されていない状態としてはなりません
(required
)。
これらの条件をすべて満たすことは (IRI の構文の定義上)
不可能なので、このフォームは提出できません。
[21] WF2 2.6
<label> Part number: <input pattern="[0-9][A-Z]{3}" name="part" title="A part number is a digit followed by three uppercase letters."/> </label>
利用者エージェントは、利用者に次のような通知を表示することができます (>>20)。 WF2 2.6
A part number is a digit followed by three uppercase letters.
You cannot complete this form until the field is correct.
pattern
attribute
IW:WF2:"#the-pattern"[24] Web Applications 1.0 r5738 Define <input type=email multiple pattern='...'> as applying to each e-mail address, not to the whole list. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5737&to=5738
[25] Bug 15291 – Allow textarea@pattern (input@pattern is specced already so why not) ( ( 版)) https://www.w3.org/Bugs/Public/show_bug.cgi?id=15291
[26] Web Applications 1.0 r8833 Make pattern= support Unicode properly.]] ( ( 版)) https://html5.org/r/8833
[27] Encourage logging pattern="" compilation failures · whatwg/html@d2a0cbd ( 版) https://github.com/whatwg/html/commit/d2a0cbdec345ffe5cc803683b30971b5786a5188
[33] HTMLのpattern属性とJavaScript正規表現のunicodeオプション - Hatena Developer Blog ( 版) http://developer.hatenastaff.com/entry/2016/04/28/172005
[34] Refine the inputmode attribute, and expose it on contenteditable (dtapuska著, ) https://github.com/whatwg/html/commit/d430f275f4e253956a5965c8b90885d3ac4e90c1
[35] Digit input type · Issue #1626 · whatwg/html () https://github.com/whatwg/html/issues/1626
[36] Add the enterkeyhint="" attribute (dtapuska著, ) https://github.com/whatwg/html/commit/a5422d984d9b7b8a4e0ad7a0ad237b07f190cc93