当前位置: 首页 > 知识库问答 >
问题:

需要检查的正则表达式

王兴腾
2023-03-14

我需要一个正则表达式来检查和删除< code > membership user < code > 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){}

-我目前正在使用下面的代码,以确保在首次创建用户帐户时,用户名中只使用字母和数字。

现在,我需要做一个<code>用户。替换(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; }

共有2个答案

梁丘琛
2023-03-14

“\W”匹配除字母、数字和下划线之外的任何字符。您可以将“\W”全局替换为“_”,但如果您只检查“\W”,然后返回一条错误消息告诉他们哪些字符是允许的,哪些字符是不允许的,这对您的用户来说可能不太奇怪。

唐腾
2023-03-14

如果“特殊”是指单引号和感叹号(仅作为一个例子),那么正则表达式< code>['!]将匹配空格、引号或感叹号等单个字符。

 类似资料:
  • 问题内容: 我有这个正则表达式使用向前和向后的前瞻: 我正在尝试将其从C#移植到Python,但始终收到错误 是否有可能用Python重写而不会失去意义? 这个想法是为了匹配类似 更新资料 我正在使用环顾四周解析已修改的HTTP多部分文本 我想在进行拆分时只获取文件路径和其他文本,而不必删除开始和结束标签 简短的代码很重要,但是如果它使正则表达式可行,我愿意更改格式。 问题答案: 对于同一数组中的

  • 问题内容: 我运行一个发现有任何字* .sql文件后跟字后面的字。该select语句可以跨越很多行,并且可以包含制表符和换行符。 我已经尝试了以下几种变体: 但是,这将永远持续下去。谁能用正确的语法帮助我? 问题答案: 无需安装grep变体pcregrep,您可以使用grep进行多行搜索。 说明: 激活grep的perl- regexp (正则表达式的强大扩展) 禁止在行尾换行,用空字符代替。也就

  • 问题内容: 我有以下示例字符串 我只对 test6IAmInterestedIn 感兴趣,它位于第四个斜杠之后,可以包含3个字符,多个字母并以3个数字结尾,即。 我想在上述正则表达式中添加的内容是,我总是在匹配的第四个斜杠之后选择字符串。我该怎么办? 问题答案: 你可以试试这个演示 哪里 匹配包含正斜杠的4个块 捕捉您想要的图案

  • 本文向大家介绍正则表达式速查表,包括了正则表达式速查表的使用技巧和注意事项,需要的朋友参考一下 字符 字符类 预定义字符类 POSIX 字符类(仅 US-ASCII) java.lang.Character 类(简单的 java 字符类型) Unicode 块和类别的类 边界匹配器 Greedy 数量词 Reluctant 数量词 Possessive 数量词 Logical 运算符 Back 引

  • 问题内容: 我有几个IP地址,例如: 如果要搜索所有3个ip地址,应该写哪种类型的正则表达式?例如,如果我这样做(我将能够搜索所有3个IP地址) 我现在可以做的事情是这样的:但是它似乎不能很好地工作。 谢谢。 问题答案: 您所拥有的正则表达式已经有几个问题: 首先,它包含点。在正则表达式中,点表示“匹配任何字符”,您只需要匹配实际的点。为此,您需要对其进行转义,因此请在圆点前面加上反斜杠。 其次,