正規表現について助けが必要です。ログインを確認する必要があります。ログインには文字、数字、アンダースコアを含めることができます。少なくとも1文字が必要で、中央にアンダースコアを付けることができます。
今私はこれを持っています:
^([a-z0-9_])+$/iu
しかし、それはすべてを任意の順序で使用することを可能にします。
ここでこれを試してください:
^(?<=[a-z])(?<=[0-9])[a-z0-9]+(_[a-z0-9]+|)$/iu
したがって、少なくとも1回は、先頭に文字または数字が必要です。それはオプションで1つ来ることができます_少なくとももう1つの文字/数字または何もインストールされていません。
これ(?<=[a-z])
は前向きな後読みアサーションであり、文字が内部にある必要があることを意味します。
私はあなたがこれを探していると思います
^(?=[a-zA-Z\d].*)(?=.*[a-zA-Z])(?=.*[a-zA-Z\d]$)(?=[^_]*(_)?[^_]*$)[a-zA-Z\d_]+$
--------------- ------------ ---------------- ---------------
| | | |->this checks that there is 0 to 1 occurance of _
| | |->this checks if it ends with any of [a-zA-Z\d]
| |->this checks if there is atleast 1 alphabet
|->this checks that it starts with [a-zA-Z\d]
ここでテストしてください