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.代码

  1. /*
  2. * 修改菜单URI自动设置权限URI
  3. */
  4. function autoSetMenuPermission() {
  5. var permission = document.getElementsByName("menuPermission")[0];
  6. var menuUri = document.getElementsByName("menuUri")[0].value;
  7. var perUri;
  8. if (menuUri.indexOf(",") != -1) {
  9. var uriArr = menuUri.split(",");
  10. var perUriArr = new Array();
  11. for (x in uriArr) {
  12. perUriArr.push(removeUnderLine(uriArr[x]));
  13. }
  14. perUri = perUriArr.toString();
  15. } else {
  16. perUri = removeUnderLine(menuUri);
  17. }
  18. permission.value = perUri;
  19. }
  20. /*
  21. * 1./main_1.do,/left_1.do main:1
  22. * 2./tbl_type/v_list_{id}.do tbl_type:list:{id}
  23. * 3./tmd/v_list.do tmd:list
  24. */
  25. function removeUnderLine(str) {
  26. str = str.replace(".do","").replace("/","");
  27. var index_backslash = str.indexOf("/");
  28. if (index_backslash != -1) {
  29. var arry = str.split("/");
  30. var name = arry[0];
  31. var oper = arry[1];
  32. // alert(oper);
  33. if (oper.indexOf("_")!=-1) {
  34. var operArr = oper.split("_");
  35. switch (operArr.length) {
  36. case 2:
  37. // aa = oper.replace("_",":");
  38. prefix = oper.substr(0,1);
  39. // alert(prefix);
  40. endfix = oper.substr(oper.indexOf("_")+1);
  41. if (prefix == "o") {
  42. if (endfix == 'add') {
  43. endfix = 'save';
  44. }else if(endfix == 'edit'){
  45. endfix = 'update';
  46. }
  47. }
  48. return name+":"+endfix;
  49. break;
  50. case 3:
  51. if (operArr[2] == 'order') {
  52. aa = oper.substr(oper.indexOf("_")+1);
  53. } else {
  54. aa = oper.substr(oper.indexOf("_")+1).replace("_",":");
  55. }
  56. // alert(aa);
  57. return name+":"+aa;
  58. break;
  59. default:
  60. break;
  61. }
  62. }else{
  63. return name+":"+oper;
  64. }
  65.  
  66. } else {
  67. var index = str.indexOf("_");
  68. if (index != -1) {
  69. if (isNaN(str.substr(index + 1))) {
  70. return str.substr(index + 1);
  71. } else {
  72. return str.replace("_",":");
  73. }
  74. } else {
  75. return str;
  76. }
  77. }
  78. }

js写的替换字符串(相当于js操作字符串的一个练习)的更多相关文章

  1. JS 利用正则表达式替换字符串

    JS 利用正则表达式替换字符串 博客分类: JavaScript 学习资料 Java代码 收藏代码 JS 利用正则表达式替换字符串 var data = "123123,213,12312, ...

  2. js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式

    js replace 全局替换   js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...

  3. js正则实现从一段复杂html代码字符串中匹配并处理特定信息

    js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他 ...

  4. 偷天换日:网络劫持,网页js被伪装替换。

    偷天换日 3月12号石家庄一个客户(后面简称乙方)有几家门店,平台收银(web)有一些功能无法正常使用,平台有上千家门店在使用,到目前为止别的省份都没有此问题.远程协助发现,js日期控件无法正常调用, ...

  5. 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)

    目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...

  6. JS操作字符串

    JS操作字符串 1.函数:split() 把字符串按分隔符分割成数组. 语法:字符串.split(separator,limit); separator:分隔符. 功能:使用一个指定的分隔符把一个字符 ...

  7. java json字符串传递给 js 时 特殊字符转义错误 研究

    一些换行 回车等符号需要转义 主要注意 单引号 与双引号. 一 如果js以 双引号接收字符串 则转单引号 "  至 \" 否则js报错 二 如果js以 单引号接收字符串 则转单引号 ...

  8. js如何生成一个对象,并转化为json字符串

    js如何生成一个对象,并转化为json字符串,很多人都会误写为: var ary = []; var obj = {}; for (var i = 0; i < 3; i++) { obj.na ...

  9. 原生js写Ajax

    //原生js写ajax就像打电话 //打电话分下面4步//1.拿出手机//2.拨号//3.说话//4.挺对方说话 //ajax也分下面4步//1.创建ajax对象//2.连接到服务器//3.发送请求( ...

随机推荐

  1. btr_cur_t;

    /** B-tree cursor */ typedef struct btr_cur_struct btr_cur_t; /** The tree cursor: the definition ap ...

  2. ha_innobase::rnd_next

    /*****************************************************************//** Reads the next row in a table ...

  3. HDU 4746 (莫比乌斯反演) Mophues

    这道题看巨巨的题解看了好久,好久.. 本文转自hdu4746(莫比乌斯反演) 题意:给出n, m, p,求有多少对a, b满足gcd(a, b)的素因子个数<=p,(其中1<=a<= ...

  4. BZOJ2226: [Spoj 5971] LCMSum

    题解: 考虑枚举gcd,然后问题转化为求<=n且与n互质的数的和. 这是有公式的f[i]=phi[i]*i/2 然后卡一卡时就可以过了. 代码: #include<cstdio> # ...

  5. TS数据结构分析

    1.TS包得数据结构 2. // Transport packet headertypedef struct TS_packet_header{    unsigned sync_byte       ...

  6. 通过对源代码的反向工程学习CoreData架构

    在本文开始,先给出反向工程后的结果: 不过需要注意,三个实例的指针都被同一个实例拥有,比如三个指针都位于appDelegate. 在AppDelegate类中定义了下面三个属性: @property ...

  7. windows装liunx双系统

    http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html http://jingyan.baidu.com/article/76a7 ...

  8. 【WEB小工具】BaseServlet—一个Servlet处理多个请求

    package cn.itcast.test.web.servlet; import java.io.IOException; import java.io.PrintWriter; import j ...

  9. 给Java新手的一些建议----Java知识点归纳(Java基础部分)

    写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...

  10. MVC ActionResult -- JavaScriptResult,JsonResult

    以下是ActionResult的继承图: 大概的分类: EmptyResult:表示不执行任何操作的结果 ContentResult :返回文本结果 JavaScriptResult:返回结果为Jav ...