-1

ユーザー名のログインを検証したい-文字、数字、およびアンデススコアのみを受け入れることができ、最大20個の記号を使用できます。これが私の正規表現です:

正規表現: ^[\w_]{4,20}$ Rubular での実例

次のログインを受け入れる必要があります。

login
login_login
_login
_87login
837420
login898

ただし、ログインがアンダースコアのみで構成されている場合は false を返す必要があります。

 ________

これを1つのプレグで行う方法は?それが私の質問です:)

4

2 に答える 2

0

/^(_?[a-z0-9-])+$/i

これは、文字、数字、ハイフン、およびアンダースコアで構成される文字列を受け入れますが、__. また、これは長さをチェックしないことに注意してくださいstrlen()。末尾のアンダースコアも許可されていませんが、仕様にはそれが有効であるとは記載されていません。

于 2013-04-21T22:30:37.890 に答える
0

少なくとも 1 つの文字/数字があることを確認したいだけの場合は、先読みを使用します。

^(?=.*?[a-zA-Z0-9])\w{4,20}$
于 2013-04-21T22:40:32.580 に答える