var suffix = new Array("com", "cn", "com.cn", "net", "edu.cn", "org", "cc", "gov.cn", ""); //更多自己添加
            var reg = "/^\www.[0-9a-z_-]+.[0-9a-z_-]+\.(" + suffix[0];
            for (i = 1; i < suffix.length; i++) { reg += "|" + suffix[i].replace(".", "\\."); }
            reg += ")$/i";
现在只能输入www.163.com  
^\www.去掉输入163.com 就不行现在要求有没有www. 都可以 
怎么写匹配的公式?

解决方案 »

  1.   

    ?代表的是0-1次,所以你将www用()括起来(www.)?就好了
      

  2.   

    我靠
    我自己试出来了
    现在没问题
    但是不知道合法不?
                var reg = "/^\[0-9a-z_-]+.[0-9a-z_-]+\.(" + suffix[0];
                for (i = 1; i < suffix.length; i++) { reg += "|" + suffix[i].replace(".", "\\."); }
                reg += ")$/";
      

  3.   

    var reg = "/^(\www.)?\[0-9a-z_-]+.[0-9a-z_-]+\.(" + suffix[0]; 
    还是不对啊
    输入这样的字符为什么超过两个以上就不报错了啊
    ass
    sdf
    asdf
      

  4.   

    var suffix = new Array("com", "cn", "com.cn", "net", "edu.cn", "org", "cc","gov.cn", ""); 
    var reg = "/^(?:www\.|)[0-9a-z_-]+.[0-9a-z_-]+\.(" + suffix[0];
    for (i = 1; i < suffix.length; i++)
    {
    reg += "|" + suffix[i].replace(".", "\\.");
    }
    reg += ")$/i";
      

  5.   


    var suffix = new Array("com", "cn", "com.cn", "net", "edu.cn", "org", "cc", "gov.cn", ""); //更多自己添加
                var reg = "/^\(www.)+[0-9a-z_-]+.[0-9a-z_-]+\.(" + suffix[0];
                for (i = 1; i < suffix.length; i++) { reg += "|" + suffix[i].replace(".", "\\."); }
                reg += ")$/i";
      

  6.   

    都不对啊 
    输入aaasdfdsaf
    fdsfdsf
    fdsddd
    竟然不报错啊