当前位置:编程学习 > C#/ASP.NET >>

求助:正则表达式模式匹配的问题,回帖有分送!!

想用正则表达式检验注册用户的合法性,用户名由数字字母中文字符组成,中间可以使用下划线和横线。
 
现在已经有一个表达式能够检验数字字母中文字符和中间用下划线,现想支持在字符中可以使用横线,如何修改,求助!

现在使用的表达式:^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$

 
求正则表达式的修改方法,回帖都有分送,急,在线等!!!  --------------------编程问答-------------------- ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5\-]+$ --------------------编程问答-------------------- ^(?!_)(?!.*?_$)[a-zA-Z0-9_\-\u4e00-\u9fa5]+$

已测试,无问题!

--------------------编程问答-------------------- 其实可以简单点
^[a-zA-Z0-9_\-\u4e00-\u9fa5]+$
这样就可以的

--------------------编程问答--------------------
引用 2 楼 mCsharp 的回复:
^(?!_)(?!.*?_$)[a-zA-Z0-9_\-\u4e00-\u9fa5]+$

已测试,无问题!


不行啊。。 --------------------编程问答--------------------
引用 4 楼 jetsoft222 的回复:
不行啊。。


不行是哪里不行,给出规则,或验证不通过的实例,不要只说不行
^(?![-_])(?!.*?[-_]$)[-a-zA-Z0-9_\u4e00-\u9fa5]+$
--------------------编程问答-------------------- 原来是在C#里面用,我还以为你在js里呢
if (System.Text.RegularExpressions.Regex.IsMatch("账号", @"(?!_)(?!.*?_$)[a-zA-Z0-9_\-\u4e00-\u9fa5]+"))
                {
                    Response.Write("正确");
                }
                else
                {
                    Response.Write("用户名不规范!");
                }

已测试,无问题。 --------------------编程问答-------------------- 等分 --------------------编程问答--------------------
引用 1 楼 dalmeeme 的回复:
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5\-]+$

++1 --------------------编程问答-------------------- 我的要求是横线只能出现在字符串的中间,两头不给出现啊。。 --------------------编程问答--------------------
引用 9 楼 jetsoft222 的回复:
我的要求是横线只能出现在字符串的中间,两头不给出现啊。。


5楼的你试过没有?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,