ここから本文です

正規表現で次の条件を満たすのはどうなりますか。 使用言語はPHPです。ユーザー名...

mik********さん

2019/3/2019:33:04

正規表現で次の条件を満たすのはどうなりますか。
使用言語はPHPです。ユーザー名のバリデーションのような状況を想定してください。

・先頭1文字目は、必ずアルファベット
・2文字目以降は、アルファベット, 数字, アンダースコアが使える
・アンダースコアは連続してはならない
・最後の文字は、アルファベットまたは数字
・全体の文字数が3文字以上15文字以内である

アルファベットは大文字小文字問いません。

↓これだとアンダースコアが連続してても一致します

/\A[a-zA-Z]{1}[a-zA-Z0-9_]{1,13}[a-zA-Z0-9]{1}\z/u

正規表現に詳し方教えてください。

閲覧数:
24
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

cd6********さん

2019/3/2107:15:11

戻り読みも使って良いなら
\A[A-Za-z](?!.*__)[A-Za-z0-9_]{2,14}(?<!_)\z
先読みだけなら
\A[A-Za-z](?!.*__)(?!.*_\z)[A-Za-z0-9_]{2,14}\z
とか
\A(?![0-9_])(?!.*__)(?!.*_\z)[A-Za-z0-9_]{3,15}\z
でしょうか。

質問した人からのコメント

2019/3/25 15:04:22

ありがとうございました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる