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;
- }
- }
- }
js写的替换字符串(相当于js操作字符串的一个练习)的更多相关文章
- JS 利用正则表达式替换字符串
JS 利用正则表达式替换字符串 博客分类: JavaScript 学习资料 Java代码 收藏代码 JS 利用正则表达式替换字符串 var data = "123123,213,12312, ...
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
js replace 全局替换 js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...
- js正则实现从一段复杂html代码字符串中匹配并处理特定信息
js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他 ...
- 偷天换日:网络劫持,网页js被伪装替换。
偷天换日 3月12号石家庄一个客户(后面简称乙方)有几家门店,平台收银(web)有一些功能无法正常使用,平台有上千家门店在使用,到目前为止别的省份都没有此问题.远程协助发现,js日期控件无法正常调用, ...
- 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)
目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...
- JS操作字符串
JS操作字符串 1.函数:split() 把字符串按分隔符分割成数组. 语法:字符串.split(separator,limit); separator:分隔符. 功能:使用一个指定的分隔符把一个字符 ...
- java json字符串传递给 js 时 特殊字符转义错误 研究
一些换行 回车等符号需要转义 主要注意 单引号 与双引号. 一 如果js以 双引号接收字符串 则转单引号 " 至 \" 否则js报错 二 如果js以 单引号接收字符串 则转单引号 ...
- js如何生成一个对象,并转化为json字符串
js如何生成一个对象,并转化为json字符串,很多人都会误写为: var ary = []; var obj = {}; for (var i = 0; i < 3; i++) { obj.na ...
- 原生js写Ajax
//原生js写ajax就像打电话 //打电话分下面4步//1.拿出手机//2.拨号//3.说话//4.挺对方说话 //ajax也分下面4步//1.创建ajax对象//2.连接到服务器//3.发送请求( ...
随机推荐
- btr_cur_t;
/** B-tree cursor */ typedef struct btr_cur_struct btr_cur_t; /** The tree cursor: the definition ap ...
- ha_innobase::rnd_next
/*****************************************************************//** Reads the next row in a table ...
- HDU 4746 (莫比乌斯反演) Mophues
这道题看巨巨的题解看了好久,好久.. 本文转自hdu4746(莫比乌斯反演) 题意:给出n, m, p,求有多少对a, b满足gcd(a, b)的素因子个数<=p,(其中1<=a<= ...
- BZOJ2226: [Spoj 5971] LCMSum
题解: 考虑枚举gcd,然后问题转化为求<=n且与n互质的数的和. 这是有公式的f[i]=phi[i]*i/2 然后卡一卡时就可以过了. 代码: #include<cstdio> # ...
- TS数据结构分析
1.TS包得数据结构 2. // Transport packet headertypedef struct TS_packet_header{ unsigned sync_byte ...
- 通过对源代码的反向工程学习CoreData架构
在本文开始,先给出反向工程后的结果: 不过需要注意,三个实例的指针都被同一个实例拥有,比如三个指针都位于appDelegate. 在AppDelegate类中定义了下面三个属性: @property ...
- windows装liunx双系统
http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html http://jingyan.baidu.com/article/76a7 ...
- 【WEB小工具】BaseServlet—一个Servlet处理多个请求
package cn.itcast.test.web.servlet; import java.io.IOException; import java.io.PrintWriter; import j ...
- 给Java新手的一些建议----Java知识点归纳(Java基础部分)
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...
- MVC ActionResult -- JavaScriptResult,JsonResult
以下是ActionResult的继承图: 大概的分类: EmptyResult:表示不执行任何操作的结果 ContentResult :返回文本结果 JavaScriptResult:返回结果为Jav ...