0

から特殊文字をチェックして削除するための正規表現が必要ですMembershipUser userName

サイトを最初にベータ版に設定したとき、特殊文字は「アプリケーションで」ユーザー名に使用するのに適していないことを考慮していませんでした。

以下のコードのテンプレートは正しく書かれていませんが、喜んで有利なスタートを切ることができます。

-- ユーザー名からすべての特殊文字と空白を削除し、ユーザー名も更新する必要があります。

特殊文字と言うときは ~,`,!,@,#,$,%,^,&,*,(,),+,=,' ',;,:,,{,} のことです。現在のユーザーのユーザー名をチェックして、これらのタイプの特殊文字が含まれているかどうかを確認し、その特定のユーザーのユーザー名からそれらを削除し、特殊文字を「_」または「-」に置き換える必要があります。

既存のユーザー名に文字と数字のみが含まれていること、およびユーザー名が数字で始まっていてはならず、大文字または小文字で始まっている必要があることを確認する必要があります。

MembershipUserCollection users = Membership.GetAllUsers();
List<MembershipUser> userToEmail= new List<MembershipUser>();

foreach (MembershipUser user in users) {
    if (user.UserName./*Some type of reg expression here to check for special characters and white spaces*/) {
        user.UserName = user.UserName /*some reg expression to remove special characers and white spaces*/
        Membership.UpdateUser(user);
        userToEmail.Add(user);
    }
}

void EmailUser(List<MembershipUser> userToEmail){}

-- 現在、ユーザー アカウントを最初に作成するときにユーザー名に文字と数字のみが使用されるようにするために、以下のコードを使用しています。

user.Replace(regexpression,"-")現在、既存のユーザー名をクリーンアップする必要があります。

[Required]
[Display(Name = "User name:")]
[StringLength(256, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 7)]
[RegularExpression(@"^[a-zA-Z0-9]*$", ErrorMessage = "The user name can only contain letters and numbers.")]
        public string UserName { get; set; }
4

2 に答える 2