【问题标题】:Regular Expression for username with particular special character具有特定特殊字符的用户名的正则表达式
【发布时间】:2021-11-09 16:43:36
【问题描述】:

我必须使用特殊字符验证用户名。例如:

raaghu@09$%^& @Raaghu098 拉古 9raghu  

只允许使用这些特殊字符:%^&@#$^*:'.-_

我该怎么做?

【问题讨论】:

  • 特殊字符是可选的吗?我不明白这个问题
  • 请在Minimal, Reproducible Example 上发布您的尝试,以便我们进一步帮助您。
  • 嗨 AliReza,是的,特殊字符是可选的,如果用户名有任何特殊字符,它应该包含以下任何字符 "%^& @#$^* "。
  • 我试过这样的字符串 username = "0sachin02$"; var specialCharcter = new Regex(@"^[a-zA-Z0-9]*[~`!@#$%^&*'.-_]$"); bool isMatch = specialCharcter.IsMatch(用户名);

标签: c# regex asp.net-core asp.net-web-api


【解决方案1】:

这应该可以工作:^(?:[a-zA-Z0-9%^&@#$^*:'.\-_]+)$

    var pattern = @"^(?:[a-zA-Z0-9%^&@#$^*:'.\-_]+)$";
    var validUsername = "raaghu@-09_$%^&";
    var InvalidUsername = "raaghu@09$%^&!";
    
    Regex.IsMatch(validUsername , pattern); // true
    Regex.IsMatch(InvalidUsername , pattern); // false

【讨论】:

  • 谢谢,我的需求模式中的小更新还应该包括更多的字符:'.-_ 添加新字符后它不起作用。新模式是 var newpattern = (@"^(?:[a-zA-Z0-9~`!@#$%^&'.-_]+)$");
  • 我已经更新了答案。您还应该在问题中提出您的要求。祝你好运
猜你喜欢
  • 2022-11-16
  • 2021-12-05
  • 2015-10-06
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
  • 2017-08-18
  • 1970-01-01
  • 2011-02-20
相关资源
最近更新 更多