私のhtml5フォームには次の入力タグがあります。
<p>
<label>Company Name*</label>
<input type="text" name="name" class="field" required pattern="[a-zA-Z0-9]+" />
</p>
これは、会社名が英数字で構成されているかどうかを確認するだけでうまく機能します。しかし、もちろん、会社名にスペースを許可したいと思います。パターンに何を追加すべきかを知る必要があります。
pattern="[a-zA-Z0-9 ]+"
のようなパターン属性にスペースを追加するのはどうですか。あらゆる種類のスペースをサポートする場合は、pattern="[a-zA-Z0-9\s]+"
を試してください
私の解決策は、すべての発音区別記号をカバーすることです。
([A-z0-9À-ž\s]){2,}
A-z
-これはすべてのラテン文字用です
0-9
-これはすべての数字用です
À-ž
-これはすべての発音区別符号用です
\s
-これはスペース用です
{2,}
-文字列は少なくとも2文字必要です
スペースのみの入力を回避するには、"[a-zA-Z0-9]+[a-zA-Z0-9 ]+"
を使用します。
eg: abc | abc aBc | abc 123 AbC 938234
たとえば、姓と名が入力されるようにするには、次のようなわずかなバリエーションを使用します
"[a-zA-Z]+[ ][a-zA-Z]+"
eg: abc def
これは非常に古い質問ですが、ここで見つかった良い回答の組み合わせから始めて、誰にとっても役立つ可能性がある場合、このパターンの使用を終了しました。
pattern="([^\s][A-z0-9À-ž\s]+)"
少なくとも2文字が必要です。先頭が空のスペースではないことを確認しますが、単語間のスペースは許可し、ą, ó, ä, ö
などの特殊文字も許可します。
このコードを使用して、ユーザーがスペースだけでなく有効な名前を入力するようにします。
pattern="[a-zA-Z][a-zA-Z0-9\s]*"
次のような形式コードを使用
$('#title').keypress(function(event){
//get envent value
var inputValue = event.which;
// check whitespaces only.
if(inputValue == 32){
return true;
}
// check number only.
if(inputValue == 48 || inputValue == 49 || inputValue == 50 || inputValue == 51 || inputValue == 52 || inputValue == 53 || inputValue == 54 || inputValue == 55 || inputValue == 56 || inputValue == 57){
return true;
}
// check special char.
if(!(inputValue >= 65 && inputValue <= 120) && (inputValue != 32 && inputValue != 0)) {
event.preventDefault();
}
})