/\\0x(?:[a-z0-9]){2,5}(?:,\\0x(?:[a-z0-9]){2,5})*/g;

解决方案 »

  1.   

    我的是日文系统
    /\\((0x)|(0X))(?:[A-Fa-z0-9]){2,5}(?:,\\((0x)|(0X))(?:[A-Fa-z0-9]){2,5})*$/
    还是不行.现在这种情况下正确的也报错,如:0xaf.0x01也被认为是错误的了.
      

  2.   

    你不是说是逗号么?
    怎么又改成点了?抱歉刚写错了。。/^\\0x(?:[a-f0-9]){2,5}(?:,\\0x(?:[a-f0-9]){2,5})*$/i;JS里的话这样就可以了
    你不想用i也可以/^\\0[xX](?:[A-Fa-f0-9]){2,5}(?:,\\0[xX](?:[a-fA-F0-9]){2,5})*$/;
      

  3.   

    由于我的系统是日文系统\\会表示成¥¥,
    /^¥¥0[xX](?:[A-Fa-f0-9]){2,5}(?:,¥¥0[xX](?:[a-fA-F0-9]){2,5})*$/;在这种情况下还是和原来的情况一样,把正确的也匹配掉了.
      

  4.   

    ??什么叫把正确的也匹配掉了?
    你想做什么?
    var s = "\\0x12,\\0x123,\\0x1234,\\0x1235";
    var p = /^\\0[xX](?:[A-Fa-f0-9]){2,5}(?:,\\0[xX](?:[a-fA-F0-9]){2,5})*$/;
    alert(p.test(s));
      

  5.   

    我入力的十六进制的数字串是这样的:
    var s="0x12,0x1,0xa1,0x35".没有\\.
    匹配var s = "\\0x12,\\0x123,\\0x1234,\\0x1235";是可以的.
    把var p = /^\\0[xX](?:[A-Fa-f0-9]){2,5}(?:,\\0[xX](?:[a-fA-F0-9]){2,5})*$/;中的\\去掉就好了.
    刚才可能我没有说清楚.
    谢谢,接分.