文档章节

我的JS小工具

吃兔纸不吐毛
 吃兔纸不吐毛
发布于 2016/12/09 16:09
字数 768
阅读 8
收藏 0

1. 大小写转换及Java驼峰命名法和数据库字段转换


 这是平时Java初期开发经常用到的,建实体类的时候比较方便,简陋的小工具,相同的按钮不要点2次,有bug,也没有考虑性能什么的,就是方便用,谢谢,以下是JS源码:

<!DOCTYPE html>
<html>
	<head>
		<title>大小写转换</title>
		<script src="jquery-3.1.1.min.js"></script>
		<style>
			.need-convert {
				width: 554px;
				height: 200px;
			}
		</style>
	</head>
	<body>
		<textarea id="need-convert" class="need-convert"></textarea><br>
		<input type="button" value="小写→大写" onclick="toUpper()">
		<input type="button" value="大写→小写" onclick="toLower()">
		<input type="button" value="Java驼峰命名法→数据库字段" onclick="toColumn()">
		<input type="button" value="数据库字段→Java驼峰命名法" onclick="toCamel()">
		<script>
			// 转换成大写
			function toUpper () {
				var resultStr = $("#need-convert").val().toUpperCase();
				$("#need-convert").val(resultStr);
			}
		
			// 转换成小写
			function toLower () {
				var resultStr = $("#need-convert").val().toLowerCase();
				$("#need-convert").val(resultStr);
			}
		
			// 转换成下划线命名法
			// 16.11.16更新:
			// 标注 1:用"myArray[i].search(myReg) != -1"替换"myReg.test(myArray[i]",因为会出现迷之错误,比如aBC转换成a_BC(错误),而不是a_B_C(正确)
			function toColumn () {
				var resultStr = $("#need-convert").val();
				var myReg = /[A-Z]/g;
				var myArray = [];
				for (var i = 0; i < resultStr.length; i++) {
					myArray.push(resultStr.charAt(i));
					if (i != 0) {
						if (myArray[i].search(myReg) != -1) {// 标注 1
							myArray[i] = myArray[i].replace(myArray[i], "_" + myArray[i].toUpperCase());
						}
					}
				}
				$("#need-convert").val(myArray.join(""));
			}
			
			// 转换成驼峰命名法
			function toCamel () {
				var resultStr = $("#need-convert").val().toLowerCase();
				var myReg = /[_]/g;
				var myArray = [];
				for (var i = 0; i < resultStr.length; i++) {
					myArray.push(resultStr.charAt(i));
					if (i != 0) {
						if (myReg.test(myArray[i - 1])) {
							myArray[i - 1] = "";
							myArray[i] = myArray[i].replace(myArray[i], myArray[i].toUpperCase());
						}
					}
				}
				$("#need-convert").val(myArray.join(""));
			}
		</script>
	</body>
</html>

 

2. HTML转义字符处理

把转义字符转换成普通字符,也可以替换内容互相转。

参考链接:JS转换HTML转义符

//转意符换成普通字符
function html2Normal (str) {
	// 对应的转义字符
	var arrEntities = {'quot': '"', 'amp': '&', 'lt': '<', 'gt': '>', 'nbsp': ' ', 'iexcl': '?', '#39':"'"};
	// 待匹配的字符正则表达式
	var htmlReg = /&(quot|amp|lt|gt|nbsp|iexcl|#39);/ig;
	return str.replace(htmlReg, function (all, t) {return arrEntities[t];});
}

 

3. 修改cookie

// 添加Cookie
function setCookie (name, value) {
	var today = new Date();
	var expires = new Date();
	expires.setTime(today.getTime() + 1000*60*60*24*365);// 设置过期时间  单位:毫秒
	document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString();
}
// 得到Cookie
function getCookie (name) {
	if (document.cookie.length > 0) {// 判断cookie是否为空
		var startNumber = document.cookie.indexOf(name + "=");
		if (startNumber != -1) {
			startNumber = startNumber + name.length + 1;
			var endNumber = document.cookie.indexOf(";", startNumber);
			if (endNumber == -1) {
				endNumber = document.cookie.length;
			}
			return unescape(document.cookie.substring(startNumber, endNumber));
		}
	}
	return "";
}
// 删除Cookie
function delCookie (name) {
	var exp = new Date();
	exp.setTime(exp.getTime() - 1);
	var cval=getCookie(name);
	if (cval!=null) {
		document.cookie= name + "="+cval+";expires="+exp.toGMTString();
	}
}

 

4. JS获取项目名称

//得到项目名称
function getContextPath(){
	var pathName = window.location.pathname;// '/SFA/xx.jsp'
	var contextPathReg = /(^(http[s]?:\/\/[^\/]*\/)|(^\/))([^\/]+)\/.*$/ig;
	var contextPath = pathName.replace(contextPathReg,"$4");
	
	return contextPath;// 'SFA'
}

 

5. JS将JSON字符串转换为对象

// 参考地址:http://www.jb51.net/article/32795.htm
// 多重嵌套
var t = "{'firstName': 'cyra', 'lastName': 'richardson', 
  'address': { 'streetAddress': '1 Microsoft way', 
  'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },
  'phoneNumbers': [ '425-777-7777','206-777-7777' ] }"; 
var jsonobj = eval('('+t+')'); 
alert(jsonobj.firstName); 
alert(jsonobj.lastName);

// 数组嵌套对象
var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},
{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] "; 
var myobj=eval(t2);

// 数组嵌套数组
var t3="[['<a href=# onclick=openLink(14113295100,
  社旗县国税局桥头税务所,14113295100,
  d6d223892dc94f5bb501d4408a68333d,
  swjg_dm);>14113295100</a>','社旗县国税局桥头税务所',
  '社旗县城郊乡长江路西段']]";
var obj = eval(t3); 
for(var i = 0; i<obj.length; i++){ 
  for(var j = 0; j<obj[i].length; j++){ 
    alert(obj[i][j]); 
  } 
}

 

© 著作权归作者所有

共有 人打赏支持
吃兔纸不吐毛
粉丝 1
博文 56
码字总数 29223
作品 0
杭州
我为什么推荐Prettier来统一代码风格

译者按: 关于代码风格,不同的人有不同的偏好,其实并没有什么绝对的对错。但是,有2条原则应该是对的: 少数服从多数;用工具统一风格。 原文: Why robots should format our code for us ...

Fundebug
2017/10/25
0
0
我为什么推荐Prettier来统一代码风格

译者按: 关于代码风格,不同的人有不同的偏好,其实并没有什么绝对的对错。但是,有2条原则应该是对的: 少数服从多数;用工具统一风格。 原文: Why robots should format our code for us ...

Fundebug
2017/10/25
0
0
JavaScript语言基础-环境搭建

我们要想编写和运行JavaScript脚本,则需要:JavaScript编辑工具和JavaScript运行测试环境。下面我们分别介绍一下。 JavaScript编辑工具 JavaScript编辑工具最简单的可以使用一些文本编辑工具...

智捷课堂
2015/03/12
0
0
Webtop Html5 桌面App开发系列(一)

Webtop——html5桌面app开发引擎。基于webtop,你可以使用html5和css3等新技术构建桌面app,即开发直接运行于windows上的软件,使用透明渲染模式能将网页直接渲染在桌面上,轻松实现透明阴影...

ForEleven
2012/11/01
0
12
CoffeeScript?TypeScript?还是JavaScript?

原文地址(source): http://innoarchitech.com/coffeescript-typescript-javascript/ 请注意本文只是我的偏见,我努力地理解借助CoffeeScript或TypeScript之类的编译器写JavaScript代码的理...

第三方支付接口
2014/11/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如果彻底的卸载 visual-studio-code

C:\Users\Administrator\AppData\Roaming 我安装了visual-studio-code ,然后配置了 一堆东西。 现在我不需要了,我希望是 卸载 visual-studio-code ,然后来一个干净的visual-studio-code ...

之渊
11分钟前
0
0
[DOM] Found 2 elements with non-unique id

在同一个html文件中两个id都相同,所以才会出现上面问题。 参考路径: https://pdf-lib.org/Home/Details/5866

度_
27分钟前
0
0
Java 异常处理的误区和经验总结

前言 本文着重介绍了 Java 异常选择和使用中的一些误区,希望各位读者能够熟练掌握异常处理的一些注意点和原则,注意总结和归纳。只有处理好了异常,才能提升开发人员的基本素养,提高系统的...

小致dad
34分钟前
0
0
dropWhile删除从第一个元素开始匹配,匹配失败则停止匹配

val set1=Set("a","b","c") val set2=Set("c","d","e") var set3=set1.drop(2) println(s"set3 drop first tow element : $set3") val set5=set1 drop 2 println(s"set1 ......

freeli
39分钟前
0
0
hive udf、udaf、udtf

1、UDF:用户定义(普通)函数,只对单行数值产生作用; 实现方法: 1. 继承UDF类 2. 重写evaluate方法 /** * @function 自定义UDF统计最小值 * @author John * */...

张欢19933
47分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部