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.发送请求( ...
随机推荐
- 域名服务器--DNS
.域名 .DNS.DNS 端口号 .DNS服务器 .域名解析过程及原理 .动态域名解析(DDNS)服务的原理 域名 域名是与主机名称一一对应的一个名字.使得人们可以通过ip的名字来访问ip,域名就是为 ...
- Qt之启动外部程序
简述 QProcess可以用来启动外部程序,并与它们交互. 要启动一个进程,通过调用start()来进行,参数包含程序的名称和命令行参数,参数作为一个QStringList的单个字符串. 另外,也可以 ...
- highcharts 饼图显示数据比例如何保留二位小数
var NewPerCent=parseFloat(NewPerCent.toString()).toFixed(2);return '<b>'+ this.point.name +'&l ...
- Java [Leetcode 168]Excel Sheet Column Title
题目描述: Given a positive integer, return its corresponding column title as appear in an Excel sheet. F ...
- Java [leetcode 4] Median of Two Sorted Arrays
问题描述: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of t ...
- Shell中取时间格式方法
Shell中取时间格式方法2007-09-13 15:35常用date的显示格式: date +%F //2007-03-06date +%Y%m%d//20070306 date +%T //23: ...
- 【转】出現 "PowerCam player support IE browser only!" 的錯誤訊息
原文网址:http://www.camdemy.com/faq/1138 A. 這是由於新版 IE11 針對文件模式設定的改變,衍生 PowerCam5 及6 的教材閱讀問題 ( EverCam 已 ...
- ECSHOP - 二次开发指南---购物车篇
第一个问题 保存用户购物车数据ECSHOP的购物车数据,是以Session 方式存储在数据库里,并在Session结束后 ,Distroy 掉,解决方法是: 1.购物车内容读取方式. 更改登陆后购物车 ...
- 回调函数、Java接口回调 总结
谈到回调,我们得先从回调函数说起,什么叫回调函数呢? 回调函数是什么? 百度百科的解释:回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用 ...
- 《C++ primer》--第9章
习题9.2 创建和初始化一个vector对象有4种方式,为每种方式提供一个例子. 解答: 分配指定数目的元素,并对这些元素进行值初始化: vector<int> ivec(10); ...