输入的字符要符合  
5-12个数字,字母或中文或“-”、“_”组成 
其中“-”和“_”不能连续用javaScript实现

解决方案 »

  1.   

    一个正规表达式我暂时未想到怎么写,分两个很好办var x = /^(\w|-|[\u4E00-\uFA29]){5,12}$/;
    var nx = /--/;
    var str = 'AAAAAAAA-A';
    alert(str.match(x) && !str.match(nx));4E00 - FA29 是中文的区间,
      

  2.   

    哦,var nx = /(--)|(__)/;
      

  3.   

    java
    if(str.indexOf("-_")!=-1||str.indexOf("_-")!=-1)
            return false;
      

  4.   

    给楼上的修改一下。
    var x = /^(\w|-|_|[\u4E00-\uFA29]){5,12}$/;
    var nx = /--|__/;
    var str = 'AAAAAAAA-A';
    alert(str.match(x) && !str.match(nx));http://yulefun.com
      

  5.   

    ^(?!--|__)(?:[\w\u4e00-\ufa29_-](?!--|__)){5,12}$
      

  6.   

    学习中遇到问题请到付费IT问答社区www.nlld.net,采用社会化网络运营,花几元钱提问,回答即得到报酬。网站所有纠纷依法解决
      

  7.   

    js没研究过
    "^((?!__)(?!\\-\\-)[\\w_\\-]){5,9}$"
    用正向预搜索,谁懂js的转一下,应该差不多的吧
      

  8.   

    Pattern p = Pattern.compile("^((?!__)(?!\\-\\-)[\\w_\\-\u4e00-\u9fa5]){5,9}$");
      

  9.   

    "^((?!([\\-_])\\2)[\\w_\\-\u4e00-\u9fa5]){5,12}$"