文档章节

我的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
博文 58
码字总数 29471
作品 0
杭州
python3调用js的库之execjs

针对现在大部分的网站都是使用js加密,js加载的,并不能直接抓取出来,这时候就不得不适用一些三方类库来执行js语句 执行JS的类库:execjs,PyV8,selenium,node 这里主要讲一下execjs,一个...

徐代龙
08/24
0
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

没有更多内容

加载失败,请刷新页面

加载更多

自定义Ubuntu/Windows双系统引导菜单主题

学习Linux自然少不了要装双系统,其中Ubuntu便是我们用的最多的Linux系统。装完双系统后,Ubuntu会自动生成grub开机引导及菜单,及其丑陋,而且很多我们用不到的选项。今天我们就介绍burg:修...

Linux就该这么学
5分钟前
0
0
Go 并发(二)

Go Mutex 通过Mutex和信道处理竞态条件。 临界区 当程序并发运行时,多个协程不应该同时访问那些修改共享资源的代码,这些修改共享资源的代码称为临界区。 Go中通过Mutex可以避免同时访问临界...

春哥大魔王的博客
8分钟前
0
0
CentOS 7安装和部署Docker

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本 uname -r3.10.0-514.el7.x86_64 1、...

狼王黄师傅
11分钟前
0
0
php扩展可以通过pecl 或者phpize 安装

pecl 算是 php 扩展的一个官方聚合平台,一些比较有名,有特点的扩展会被 pecl 收录,收录后可以通过 pecl 的方式安装。但是更多的扩展是没有收录在 pecl 上的,这些扩展还是需要通过 phpize...

bengozhong
12分钟前
0
0
CentOS中如何安装7ZIP

执行以下命令下载安装: wget http://nchc.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2tar -jxvf p7zip_9.20.1_src_all.tar.bz2cd p7zip_9.20.1make......

凯文加内特
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部