var reg = /a{5}/;
从书上看来这个正则是 匹配5次  a  a 或 aaa 是不匹配的  但 aaaaaaaaaaaaaaaa
这样以经超过五个a了 但却还是匹配的

解决方案 »

  1.   

    你这句话的意思是表示匹配了5个a,即只要含有5个a,他就算匹配通过了。如果你只希望整个字符串只包含5个a,应该使用var r=/^a{5}$/;
      

  2.   

    那 var reg =/a{2,7}/;这个 是2-7个a 
    只要 有 2-7个a就通过了var reg =/a{2,8}/
    var reg = /a{2,9}/这样又有什么区别
      

  3.   

    var reg = /^a{5}$/;
    要加开始和结束,因为不加的话你的aaaaaaaaaaaaaaaa里有5个a所以是匹配的
    但是加上开始和结束的话,就是匹配整个字符串,而不是其中的一段。
      

  4.   

    var reg =/a*/;     //0个或任意个a,即任意字符(串)
    var reg =/a+/;     //至少1个a,与 /a{1,}/等同
    var reg =/a{2,}/;     //至少2个a
    var reg =/a{,7}/;     //至多7个a
    var reg =/a{2,7}/;     //2个到7个a(最少2个,最多7个)
    var reg =/^a{2,7}/;     //以最少2个,最多7个a开头
    var reg =/a{2,7}$/;     //以最少2个,最多7个a结尾
    var reg =/^a{2,7}$/;     //整个字符串只能有a,最少2个,最多7个
    var reg_7 =/a{2,7}/;
    var reg_8 =/a{2,8}/
    var reg_9 = /a{2,9}/
    a_7 = "aaaaaaa"; //reg_7 可以通过
    a_8 = "aaaaaaaa"; //reg_7, reg_8 可以通过
    a_9 = "aaaaaaaaa"; //reg_7, reg_8, reg_9 可以通过