我的JS小工具

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>

猜你喜欢

转载自nami-sup.iteye.com/blog/2338002