写正则表达式遇到一困难,还望得到各位高人指点。具体问题是这样的:
验证表单能是不是如下形式的数据:p12,p234,p45435,P23423
要求如下:
1.以逗号分割
2.每段数据以P开头,大小写不限
3.从第二个字符开始都为数字。

解决方案 »

  1.   

       var p = /^(p\d+,)+$/i;
       var arr="p12,p234,p45435,P23423;p12,;x12,p12;ppp;p33".split(';');
       for(var i=0;i<arr.length;i++){
    document.write(arr[i].replace(" ","&nbsp;")+":"+p.test(arr[i]+",")+"<br/>");
       }
      

  2.   

    var str = "p12,p234,p45435,P23423",
    reg = /^([Pp]\d+,)+$/;
    str += ",";
    alert(reg.test(str));
      

  3.   

    p123,ppppp或p3432,sdfa等诸如这样的数据也能验证通过。这不是我想要的结果。
      

  4.   

    我的就符合条件了
    不过像p2227这样一条的要不要通过?
       var p = /^(p\d+,)+$/i;
       var arr="p12,p234,p45435,P23423;p12,;x12,p12;ppp;p33;p123,ppppp;p3432,sdfa".split(';');
       for(var i=0;i<arr.length;i++){
    document.write(arr[i].replace(" ","&nbsp;")+":"+p.test(arr[i]+",")+"<br/>");
       }
      

  5.   

    算了,也不用问了,如果你不想通过就这样,你自己根据情况选择即可   var p = /^p\d+(,p\d+)+$/i;
       var arr="p12,p234,p45435,P23423;p12,;x12,p12;ppp;p33;p123,ppppp;p3432,sdfa".split(';');
       for(var i=0;i<arr.length;i++){
    document.write(arr[i].replace(" ","&nbsp;")+":"+p.test(arr[i])+"<br/>");
       }