1

正規表現の初心者です...文字列に少なくとも1つの特殊文字と1つの数値があるかどうかを確認する正規表現を作成する必要があります。を使用していますが、機能し([0-9]+[!@#$%\^&*(){}[\]<>?/|\-.:;_-]+|[!@#$%\^&*(){}[\]<>?/|\-.:;_-]+[0-9]+)ていません。助けてください。

4

3 に答える 3

2

チェックする簡単な方法の 1 つは、入力文字列に対して 2 つのテストを実行して、各タイプの文字が存在するかどうかを確認することです。

/[0-9]/.test(inputString) && /[special_characters]/.test(inputString)

コードはあなたが説明したように動作します: に少なくとも 1 つの数字と少なくとも 1 つの特殊文字があるかどうかを確認しますinputString。ただし、残りの に制限はありませんinputString

special_characters特殊文字のリストを入力します。あなたの場合、それは次のようになります。

/[0-9]/.test(inputString) && /[!@#$%^&*(){}[\]<>?/|.:;_-]/.test(inputString)

特殊文字のパターンでいくつかの冗長なエスケープを削除しました。(^エスケープする必要はなく、-すでに最後にあります)。

これにより、同じ作業を行う単一の正規表現を作成しようとする場合と比較して、コードが読みやすくなり、メンテナンスの頭痛の種が少なくなります。

于 2013-09-19T10:59:15.557 に答える