首页 > 解决方案 > 具有特定特殊字符的用户名的正则表达式

问题描述

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

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

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

我怎样才能做到这一点?

标签: c#regexasp.net-coreasp.net-web-api

解决方案


这应该有效:^(?:[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

推荐阅读