日期:2014-05-20  浏览次数:20649 次

很郁闷的一道面试题,请教各位高手,欢迎各位挑战
输入的字符要符合    
5-12个数字,字母或中文或“-”、“_”组成  
其中“-”和“_”不能连续

用javaScript实现

------解决方案--------------------
一个正规表达式我暂时未想到怎么写,分两个很好办

var x = /^(\w|-|[\u4E00-\uFA29]){5,12}$/;
var nx = /--/;
var str = 'AAAAAAAA-A ';
alert(str.match(x) && !str.match(nx));

4E00 - FA29 是中文的区间,
------解决方案--------------------
学习中。。。正则表达式我很垃圾的
------解决方案--------------------
java
if(str.indexOf( "-_ ")!=-1||str.indexOf( "_- ")!=-1)
return false;
------解决方案--------------------
不懂,期待回答中
------解决方案--------------------
给楼上的修改一下。
var x = /^(\w|-|_|[\u4E00-\uFA29]){5,12}$/;
var nx = /--|__/;
var str = 'AAAAAAAA-A ';
alert(str.match(x) && !str.match(nx));

http://yulefun.com
------解决方案--------------------
^(?!--|__)(?:[\w\u4e00-\ufa29_-](?!--|__)){5,12}$
------解决方案--------------------
学习中遇到问题请到付费IT问答社区www.nlld.net,采用社会化网络运营,花几元钱提问,回答即得到报酬。网站所有纠纷依法解决
------解决方案--------------------
关注
------解决方案--------------------
mark...
------解决方案--------------------
正则表达式 强啊 有待研究