求高手C# 正则表达式,用于用户名验证

Regexregex=newRegex(@"正则表达式");Matchm=regex.Match(@"用户名字符串");返回布尔值(即表示符合以下条件--True)条件:... Regex regex = new Regex(@"正则表达式");
Match m = regex.Match(@"用户名字符串");

返回 布尔值(即表示符合以下条件--True)

条件:用于用户名验证
1,只能以汉字,大小写字母,下划线开头
2,中间允许有数字
3,允许电子邮件地址
4,不能有其他特殊字符
5,长度在2--30位

要求 一句搞定,不要多个联合判断
感谢各位高手了,经测试,与要求还有出入

hookhooks提供的方法没解决 只能以汉字,大小写字母,下划线开头 ---电子邮件验证开头不允许数字...

ChinaLad的方法也没有彻底解决
还是非常感谢诸位!

下面的综合二位思路,但Email不能很好的长度.....
@"(^[a-zA-Z\u4e00-\u9fa5]{1}[\w]{1,29}$|^[a-zA-Z]{1}[\w]{1,29}@\w+([-.]\w+)*\.\w+([-.]\w+)*$)"
展开
 我来答
明桖瑶gr
2009-02-13 · TA获得超过1205个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:613万
展开全部
^[\u4e00-\u9fa5a-zA-Z_]\w{1,20}$
满足:
1,只能以汉字,大小写字母,下划线开头
2,中间允许有数字
4,不能有其他特殊字符
5,长度在2--30位

^[a-zA-Z0-9]+[-_.a-zA-Z0-9]+@[-_a-zA-Z0-9]+(?:\.[-_a-zA-Z0-9]+)$
满足:
电子邮件验证。

综合版本:
^(?:[a-zA-Z0-9]+[-_.a-zA-Z0-9]+@[-_a-zA-Z0-9]+(?:\.[-_a-zA-Z0-9]+)+|[\u4e00-\u9fa5a-zA-Z_]\w){1,30}$
满足你的所有要求。

注意:上面的正则,若用户输入是 email 则用户名可以是数字打头,但不能是汉字打头。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c687645
2009-02-13 · 超过64用户采纳过TA的回答
知道答主
回答量:376
采纳率:0%
帮助的人:216万
展开全部
@"(^[\u4e00-\u9fa5a-zA-Z]{1}[\w]{1,29}$|^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$)"

测试过了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式