场景
比如我们经常用Ajax做删除功能的时候,如果是删除一条记录,那么传过来的值是一个id(例如:100);如果是批量删除的话可能是一串id(例如:100,101,103);如果我后台的代码支持删除一条和多条,那么前端的这段代码都适用,如下图,所以弹出的提示都是一样的,那么未了区分单条删除和批量删除的提示不一样,该如何?
解决
针对以上问题,我认为,如果能确定id参数是否包含(,)就能知道是删除单条还是多条,所以问题解决,如下图:
知识
其实,这里主要用了js中是否包含某字符串的知识,总结如下:
indexOf 方法:
// var str="12,13"; var str=12; if(str.toString().indexOf(",")!=-1) { alert("false"); }else { alert("true"); }
search 方法:
// var str="123,23"; var str="123,123"; if(str.toString().search(",")!=-1) { alert("false"); }else { alert("true"); }
正则表达式:(match、test、exec)
/* var str="1234566666"; var reg = RegExp(/5/); if(str.match(reg)){ alert("true"); }else { alert("false"); } */ /* var str = "123"; var reg = RegExp(/4/); if(reg.test(str)) { alert("true"); }else { alert("false"); } */ /* var str = "123"; var reg = RegExp(/5/); if(reg.exec(str)){ alert("true"); }else { alert("false"); } */
注意: 如果str=100,就是说如果str有可能是数字的话,最好加上toString() 方法;