我用了这个方法判断权限,在数据库中保存用户对应的可以操作的人员的姓名,比如用户甲可以修改“李强人”和“刘明”的数据,当单击李强人的数据的时候,返回姓名“李强人”,用match() 方法比较操作人甲能否修改李强人的数据,如果是,就让修改按钮显示,反之亦然。现在出现了问题,有个人叫“李强”,跟“李强人”是两个人,当甲单击李强的数据的时候,按理说甲没有权限修改,但因为 “李强人,刘明”.match("李强") 为真,所以就给甲显示了对李强数据的修改按钮,这个问题怎么解决啊,有没有好的办法,前提是单击时不能返回用户ID。

解决方案 »

  1.   

    不可以用姓名比对,应该比对用户的id。A人可以查看或者修改B人的信息,那么你那条信息中就必须保存,信息是谁添加的,把ID记下来,当A人查看的时候,就去判断,这条信息的添加者ID是否在A人可看的人的ID串中
      

  2.   

    var strs=["李强人,杨风","李强,改名","改名,李强,改名2","改名,李强人,改名2"],s="李强";
    for(var i=0;i<strs.length;i++){
        document.write((strs[i].match(new RegExp("(?:^|,)"+s+"(?:,|$)"))==null)+"<br/>")
    }