具有特定特殊字符的用户名的正则表达式
Posted
技术标签:
【中文标题】具有特定特殊字符的用户名的正则表达式【英文标题】: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(用户名); 【参考方案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~`!@#$%^&'.-_]+)$"); 我已经更新了答案。您还应该在问题中提出您的要求。祝你好运以上是关于具有特定特殊字符的用户名的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章