1

私は正規表現があまり得意ではなく、それらをよく理解していないようです。

次の条件で、ユーザー名に次の文字列を一致させて許可する正規表現を探しています。

  • ユーザー名は次のことができます:数字またはアルファベットで始める
  • ユーザー名には、ドット、ダッシュ、アンダースコアなどの特殊文字を含めることができます
  • ユーザー名は、3文字から最大32文字の範囲である必要があります。
  • ユーザー名の英数字は、小文字大文字の両方にすることができます
  • 空のスペースを含めることはできません

TwitterやFacebookのユーザー名パターンとほぼ同じです。

私を助けてください。ありがとうございました。

FWI:私はこれを試しました:/^(?=.{1,15}$)[a-zA-Z][a-zA-Z0-9]*(?: [a-zA-Z0-9]+)*$/-そしてこれは私の条件を満たしていません。

4

4 に答える 4

5

これを試してみてください

^[a-zA-Z0-9][a-zA-Z0-9\._-]{2,31}$

これにより、phpコードが生成されます

if (preg_match('~^[a-zA-Z0-9][a-zA-Z0-9\._-]{2,31}$~', $username) {
    //do something
}
于 2013-03-11T13:23:41.223 に答える
2

数字またはアルファベットで始まります

[a-zA-Z0-9]

上記のようにプラスのドット、ダッシュ、アンダースコアを含めることができます

[a-zA-Z0-9._-]

そしてすべて一緒に

[a-zA-Z0-9][a-zA-Z0-9._-]{2, 31}
于 2013-03-11T13:24:45.833 に答える
2

これを試してみてくださいこれはすべての登録フォームで私のために働いています

//username Validation
var usernameRegex = /^[a-zA-Z0-9\s\[\]\.\-#']*$/i;
var username=document.getElementById('username');
if(username.value==""){
document.getElementById('lblusername').innerHTML="Username Required!";
username.focus();
return false;
}   
else if(usernameRegex.test(username.value)== false) 
{
document.getElementById('lblusername').innerHTML="Allow Alphanumeric Only! (E.g Demo123)";
username.focus();
return false;
}
else
{
document.getElementById('lblusername').innerHTML="";
}   
于 2013-03-11T14:40:14.330 に答える
1

これを試して:

^[0-9a-zA-Z][0-9a-zA-Z\-\._]{2,31}$
于 2013-03-11T13:23:51.263 に答える