Baseline Widely available
pattern
屿§ã¯ããã©ã¼ã ã³ã³ããã¼ã«ã®å¤ãä¸è´ãã¹ãæ£è¦è¡¨ç¾ãæå®ãã¾ããnull
以å¤ã®å¤ã pattern
å¤ã«ãã£ã¦è¨å®ãããå¶ç´ã«é©åããªãå ´åãValidityState
ãªãã¸ã§ã¯ãã®èªã¿åãå°ç¨ã® patternMismatch
ããããã£ãçã«ãªãã¾ãã
<label for="username">ã¦ã¼ã¶ã¼å: (3-16 æå)</label>
<input
id="username"
name="username"
type="text"
value="Sasha"
pattern="\w{3,16}"
required />
<label for="pin">PIN: (4 æ¡)</label>
<input id="pin" name="pin" type="password" pattern="\d{4,4}" required />
label {
display: block;
margin-top: 1em;
}
input:valid {
background-color: palegreen;
}
input:invalid {
background-color: lightpink;
}
æ¦è¦
pattern
屿§ã¯ text, tel, email, url, password, search ã®å
¥ååã®å±æ§ã§ãã
pattern
屿§ã¯ãå¶ç´æ¤è¨¼ãééãããããã«ãå
¥åã® value
ãä¸è´ããã¹ãæ£è¦è¡¨ç¾ã§ããããã¯æå¹ãª JavaScript ã®æ£è¦è¡¨ç¾ã§ãªããã°ãªããã RegExp
åã§ä½¿ç¨ãããããæ£è¦è¡¨ç¾ã¬ã¤ãã§èª¬æããã¦ãããã®ã¨åããã®ã§ãã
ãã¿ã¼ã³ã®æ£è¦è¡¨ç¾ã¯ 'v'
ãã©ã°ã§ã³ã³ãã¤ã«ããã¾ããããã¯æ£è¦è¡¨ç¾ã unicode 対å¿ã«ããæåã¯ã©ã¹ã®è§£éæ¹æ³ã夿´ãã¾ããããã«ãããæåã¯ã©ã¹ã®è¨å®ã«ã¯äº¤å·®ã¨æ¸ç®ã®å¦çãå¯è½ã«ãªãã ]
㨠\
ã«å ããç¶ãæåããªãã©ã«æå (
, )
, [
, {
, }
, /
, -
, |
ã§ããå ´åã¯ã \
ããã¯ã¹ã©ãã·ã¥ã使ç¨ãã¦ã¨ã¹ã±ã¼ãããå¿
è¦ãããã¾ãã 2023 å¹´åã°ä»¥åã¯ã代ããã« 'u'
ãã©ã°ãæå®ããã¦ãã¾ãããå¤ãã³ã¼ããæ´æ°ããå ´åã¯ã unicodeSets
ã®ãªãã¡ã¬ã³ã¹ãåç
§ãã¦ãã ããã
ãã¿ã¼ã³ã®æ£è¦è¡¨ç¾ã¯ãé¨åæååã«ä¸è´ãããã®ã§ã¯ãªããå
¥åã® value
å
¨ä½ã«ä¸è´ãããå¿
è¦ãããã¾ãããã¿ã¼ã³ã®å§ãã« ^(?:
ããçµããã« )$
ãå«ã¾ãã¦ãããã®ããã«æ±ããã¾ãã
ãã¿ã¼ã³ããã¹ãã®å¨ãã«ã¯ã¹ã©ãã·ã¥ãæå®ããªãã§ãã ããã屿§å¤ãåå¨ããªããã空æååãã䏿£ãªå ´åã¯ãæ£è¦è¡¨ç¾ã¯é©ç¨ããã¾ããã
pattern 屿§ã«å¯¾å¿ãã¦ããå
¥ååã®ä¸ã«ã¯ãç¹ã« email ããã³ url å
¥ååã®ããã«ãä¸è´ããªããã°ãªããªãæå¾
å¤ã®æ§æãæã£ã¦ãããã®ãããã¾ãã pattern 屿§ãåå¨ãããå¤ããã®å¤åã®æå¾
ãããæ§æã¨ä¸è´ããªãå ´åã ValidityState
ãªãã¸ã§ã¯ãã®èªã¿åãå°ç¨ã® typeMismatch
ããããã£ã true ã«ãªãã¾ãã
å
¥åã®å¤ã空æååã§ãªããæ£è¦è¡¨ç¾å
¨ä½ã«ä¸è´ããªãå ´åãValidityState
ãªãã¸ã§ã¯ãã® patternMismatch
ããããã£ã true
ã«ãªã£ã¦å ±åãããå¶ç´éåãåå¨ãããã¨ã«ãªãã¾ãã
ã¡ã¢: pattern
屿§ãå¤ãªãã§æå®ãããå ´åããã®å¤ã¯æé»çã«ç©ºæååã¨ãªãã¾ãããããã£ã¦ã空ã§ãªãå
¥åæ¬ã® value
ã¯å¶ç´ã«éåãããã¨ã«ãªãã¾ãã
ã³ã³ããã¼ã«ã« pattern
屿§ãããå ´åã title
屿§ã使ããã¦ããã°ããã®ãã¿ã¼ã³ã説æããªããã°ãªãã¾ãããã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯ãå¶ç´ã®æ¤è¨¼ä¸ã« title ã®ã³ã³ãã³ããããã¿ã¼ã³ãä¸è´ããªããã¨ãã¦ã¼ã¶ã¼ã«æç¤ºããããã«ä½¿ç¨ãããã¨ãã§ãã¾ããã©ã¦ã¶ã¼ã«ãã£ã¦ã¯ãã¿ã¤ãã«ãæã¤è¦ç´ ã®ä¸ã«ãã¤ã³ã¿ã¼ãç½®ããã¨ãã«ãã¼ã«ãããã表示ãã¾ããããã¼ãã¼ãã®ã¿ã®ã¦ã¼ã¶ã¼ãã¿ããã®ã¿ã®ã¦ã¼ã¶ã¼ã¯é¤å¤ããã¦ãã¾ãã¾ããããããã©ã®ããã«ã³ã³ããã¼ã«ã«è¨å
¥ããã°è¦ä»¶ã«åãããã¦ã¼ã¶ã¼ã«ç¥ãããæ
å ±ãå«ããå¿
è¦ãããçç±ã®ä¸ã¤ã§ãã
å¤ãã®ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ã㯠title
屿§ãã¢ã¯ã»ã·ããªãã£ã®ããæ¹æ³ã§å
¬éãã¦ããªããããããã¹ãã³ã³ãã³ãã®è¦è¦çãªè¡¨ç¤ºã®ããã ãã« title
屿§ãé ¼ããã¨ã¯æ¨å¥¨ããã¾ããããã©ã¦ã¶ã¼ã«ãã£ã¦ã¯ãã¿ã¤ãã«ã®ããè¦ç´ ã«ã«ã¼ã½ã«ãåãããã¨ãã¼ã«ãããã表示ããããã®ãããã¾ããããã¼ãã¼ãã®ã¿ã®ã¦ã¼ã¶ã¼ãã¿ããã®ã¿ã®ã¦ã¼ã¶ã¼ãé¤å¤ãããã¨ã«ãªãã¾ããããã¯ãè¦æ±ã«ä¸è´ããããã«å¶å¾¡ããæ¹æ³ãã¦ã¼ã¶ã¼ã«ç¥ãããæ
å ±ãè¨è¼ããªããã°ãªããªãããã¤ãã®çç±ã®ä¸ã¤ã§ãã
ä¸é¨ã®ãã©ã¦ã¶ã¼ã§ã¯ title
ã使ç¨ãã¦ã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¦ãã¾ããããã©ã¦ã¶ã¼ã¯ãã¤ã³ã¿ã¼ãå½ã¦ãã¨ãã«ãã¿ã¤ãã«ãããã¹ãã¨ãã¦è¡¨ç¤ºãããã¨ããããã¨ã©ã¼ãçºçãã¦ããªãç¶æ³ã§ã表示ããããã¨ãããã®ã§ãã¨ã©ã¼ãçºçãããã®ãããªè¨èã使ç¨ããªãããã«æ³¨æãã¦ãã ããã
以ä¸ã®ãã®ãèãã¦ã¿ã¦ãã ããã
<p>
<label>
é»è©±çªå·ã (123) - 456 - 7890 ã®å½¢ã§å
¥åãã¦ãã ãã (<input
name="tel1"
type="tel"
pattern="[0-9]{3}"
placeholder="###"
aria-label="3 æ¡ã®ã¨ãªã¢ã³ã¼ã"
size="2" />) -
<input
name="tel2"
type="tel"
pattern="[0-9]{3}"
placeholder="###"
aria-label="3 æ¡ã®æ¥é è¾"
size="2" />
-
<input
name="tel3"
type="tel"
pattern="[0-9]{4}"
placeholder="####"
aria-label="4 æ¡ã®çªå·"
size="3" />
</label>
</p>
ããã§ã¯åç±³ã®é»è©±çªå·ã示ã 3 ã¤ã®é¨åããããé»è©±çªå·ã® 3 ã¤ã®æ§æè¦ç´ ãã¹ã¦ãå«ãæé»ã®ã©ãã«ãããã¾ããããããã 3 æ¡ã3 æ¡ã4 æ¡ã§ pattern
屿§ã«ãã£ã¦ããããè¨å®ããã¦ãã¾ãã
å¤ãé·ããããçãããããæ°åã§ã¯ãªãæåãå«ã¾ãã¦ãããããã¨ã patternMismatch
ã true ã«ãªãã¾ãã true
ã®å ´åãè¦ç´ 㯠CSS ã® :invalid
æ¬ä¼¼ã¯ã©ã¹ã«ä¸è´ãã¾ãã
input:invalid {
border: red solid 3px;
}
代ããã« minlength
㨠maxlength
屿§ãç¨ããå ´åã validityState.tooLong
ã¾ã㯠validityState.tooShort
ã true ã«ãªãã¾ãã
pattern
屿§ã使ç¨ããã¨ãå
¥åãããå¤ãæå¹ã¨ã¿ãªãããããã«ä¸è´ããªããã°ãªããªãæ£è¦è¡¨ç¾ãæå®ãããã¨ãã§ãã¾ãï¼æ£è¦è¡¨ç¾ã使ç¨ãã¦å
¥åãæ¤è¨¼ããç°¡åãªéä¸è¬åº§ã¯ãæ£è¦è¡¨ç¾ã§ã®æ¤è¨¼ãåç
§ãã¦ãã ããï¼ã
以ä¸ã®ä¾ã§ã¯ãå¤ã 4-8 æåã«å¶éããå°æåã®ã¿ãå«ããã¨ãè¦æ±ãã¦ãã¾ãã
<form>
<div>
<label for="uname">ã¦ã¼ã¶ã¼åã鏿ãã¦ãã ãã: </label>
<input
type="text"
id="uname"
name="name"
required
size="45"
pattern="[a-z]{4,8}"
title="4 ãã 8 æåã®è±å°æå" />
<span class="validity"></span>
<p>ã¦ã¼ã¶ã¼åã¯å°æåã§ 4-8 æåã®é·ãã§ããå¿
è¦ãããã¾ãã</p>
</div>
<div>
<button>éä¿¡</button>
</div>
</form>
div {
margin-bottom: 10px;
position: relative;
}
p {
font-size: 80%;
color: #999;
}
input + span {
padding-right: 30px;
}
input:invalid + span::after {
position: absolute;
content: "â";
padding-left: 5px;
}
input:valid + span::after {
position: absolute;
content: "â";
padding-left: 5px;
}
ããã¯æ¬¡ã®ããã«è¡¨ç¤ºããã¾ãã
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ å ±RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4