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]);
}
}