JavaScriptで正規表現パターンを実行して、数字と次の記号のみを含む文字列を許可したいと思います:()+とスペース。5〜16文字の長さ。
注意:文字列内の文字の順序は重要ではありません。
これに適したパターンは何ですか?
ありがとう
JavaScriptで正規表現パターンを実行して、数字と次の記号のみを含む文字列を許可したいと思います:()+とスペース。5〜16文字の長さ。
注意:文字列内の文字の順序は重要ではありません。
これに適したパターンは何ですか?
ありがとう
これはどう:
/^[0-9 ()+]{5,16}$/
自分で構築するのはとても簡単です。) まず、厳密な制限を課すため、文字列全体をチェックする必要があるため、正規表現は にラップする必要があります/^...$/
。
第二に、特定の文字だけが必要な場合は、文字クラスを使用する必要があります。それらすべてを [...] 形式に書き留めます。あなたの場合、ショートカットすることができます:/^[0123456789 ()+]$/
ちょうどに置き換えてください/^[0-9 ()+]$/
。
最後に、{$min, $max} 形式でいくつかの量的制限を述べます。あなたの場合は{5,16}
. これをこれまでに得たものに混ぜてください - そしてほら!あなたはタスクを解決しました。)
if( myText.match(/\A[0-9 ()+]{5,16}\Z/) ) {
// Yay!
}
アンカー文字がないことは正しく指摘されていましたが、^$ を使用すると文字列の行にのみ一致するため、「823479898237\n328742987」は長すぎても一致します。