I am searching for a regular expression for allowing alphanumeric characters, -, _ or spaces in JavaScript/jQuery. I tried Googling but wasn't able to find that.
Can anyone help me out with this?
Thanks in advance.
I am searching for a regular expression for allowing alphanumeric characters, -, _ or spaces in JavaScript/jQuery. I tried Googling but wasn't able to find that.
Can anyone help me out with this?
Thanks in advance.
ここでは文字セットが大いに役立ちます。検証する文字の一致セットを作成します。
\w
と同じです(他の言語では異なる場合があります)。[A-Za-z0-9_]
-
とスペースは、 などの一致するセットに組み合わせることができます[\w\- ]
。ただし、\s
スペース文字だけの代わりに使用することを検討することもできます (\s
タブやその他の形式の空白にも一致します)。
-
していることに注意してください\-
A-Z
^
$
おそらく探している完全な正規表現は次のとおりです。
/^[\w\-\s]+$/
( は、一致する文字が少なくとも1 つ存在する必要があることを示していることに注意して+
ください。長さがゼロの文字列でも問題ない場合は、代わりに a を使用してください)*
最後に、http://www.regular-expressions.info/は素晴らしいリファレンスです
ボーナス ポイント: この正規表現は非 ASCII アルファベットと一致しません。残念ながら、ほとんどのブラウザーの正規表現エンジンは名前付き文字セットをサポートしていませんが、それを支援するライブラリがいくつかあります。
名前付き文字セットをサポートする言語/プラットフォームの場合は、次を使用できます/^[\p{Letter}\d\_\-\s]+$/
この正規表現を試してください:
/^[a-z\d\-_\s]+$/i
/^[-\w\s]+$/
\wは文字、数字、およびアンダースコアに一致します
\sは、スペース、タブ、および改行に一致します
-ハイフンに 一致します(文字セットの例 [az] にハイフンがある場合は、[-az] のように先頭にハイフンを配置してください)
var string = 'test- _ 0Test';
string.match(/^[-_ a-zA-Z0-9]+$/)
この正規表現を試してください
*更新された正規表現
/^[a-z0-9]+([-_\s]{1}[a-z0-9]+)*$/i
これにより、テキスト間に単一のスペースまたは - または _ のみが許可されます
Ex: this-some abc123_regex
学習するには: https://regexr.com
*注: トトの質問に基づいて正規表現を更新しました
var regex = new RegExp("^[A-Za-z0-9? ,_-]+$");
var key = String.fromCharCode(event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
regExp では[A-Za-z0-9?spaceHere,_-]
、疑問符「?」の後にリテラル スペースがあります。これはスペースに一致します。他の人は私のために働い/^[-\w\s]+$/
て/^[a-z\d\-_\s]+$/i
いませんでした。
英数字とスペースを許可するためにこれを試してください
[a-zA-Z0-9]