本帖最后由 loshu2003 于 2013-08-29 17:58:27 编辑

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function check(str){
    var reg=/"[^,]+?"(?=:.+)/g;
    var x=str.match(reg);
    var arr=[];
    for(var i=0;i<x.length;i++){
    if(!arr[x[i]]){
    arr[x[i]]=1;
    }else{
    return false;
    }
    }
    return true;
    }
    var a=['{"name":"张三","x":"116.47728","y":"12"}','{"name":"张三","y":"116.47728","x":"12"}','{"y":"116.47728","x":"12","name":"张三"}','{"name":"张三","y":"116.47728","y":"12"}','{"name":"张三","x":"116.47728","x":"12"}'];
    for(var i=0;i<a.length;i++){
    alert(a[i]+"--"+check(a[i]));
    }
    </script>
    </head><body>
    </body>
    </html>
    不一定非得用一个正则验证啊
      

  2.   


    非常感谢您的回复,但是您的方法检验:{"name2":"张三","x":"116.47728","y":"12"}时,也会返回true
      

  3.   

    非常感谢您的回复,但是您的方法检验:{"name2":"张三","x":"116.47728","y":"12"}时,也会返回true
      

  4.   

    那你多加验证  在那个数组检测里  吧要的key值加进去  纯正则的话 感觉反而更麻烦了  而且效率也不见的高