js写的替换字符串(相当于js操作字符串的一个练习)
1.达到的效果
1./main_1.do,/left_1.do -> main:1,left:1
2./tbl_type/v_list_{id}.do -> tbl_type:list:{id}
3./tmd/v_list.do -> tmd:list
2.代码
/* * 修改菜单URI自动设置权限URI */ function autoSetMenuPermission() { var permission = document.getElementsByName("menuPermission")[0]; var menuUri = document.getElementsByName("menuUri")[0].value; var perUri; if (menuUri.indexOf(",") != -1) { var uriArr = menuUri.split(","); var perUriArr = new Array(); for (x in uriArr) { perUriArr.push(removeUnderLine(uriArr[x])); } perUri = perUriArr.toString(); } else { perUri = removeUnderLine(menuUri); } permission.value = perUri; } /* * 1./main_1.do,/left_1.do main:1 * 2./tbl_type/v_list_{id}.do tbl_type:list:{id} * 3./tmd/v_list.do tmd:list */ function removeUnderLine(str) { str = str.replace(".do","").replace("/",""); var index_backslash = str.indexOf("/"); if (index_backslash != -1) { var arry = str.split("/"); var name = arry[0]; var oper = arry[1]; // alert(oper); if (oper.indexOf("_")!=-1) { var operArr = oper.split("_"); switch (operArr.length) { case 2: // aa = oper.replace("_",":"); prefix = oper.substr(0,1); // alert(prefix); endfix = oper.substr(oper.indexOf("_")+1); if (prefix == "o") { if (endfix == 'add') { endfix = 'save'; }else if(endfix == 'edit'){ endfix = 'update'; } } return name+":"+endfix; break; case 3: if (operArr[2] == 'order') { aa = oper.substr(oper.indexOf("_")+1); } else { aa = oper.substr(oper.indexOf("_")+1).replace("_",":"); } // alert(aa); return name+":"+aa; break; default: break; } }else{ return name+":"+oper; } } else { var index = str.indexOf("_"); if (index != -1) { if (isNaN(str.substr(index + 1))) { return str.substr(index + 1); } else { return str.replace("_",":"); } } else { return str; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理