JS中处理单个反斜杠(即转义字符的处理)

时间:2022-07-02 07:27:18

问题来源:在表单的<input>标签中对输入的字符串进行大写转换。一不小心输入了反斜杠 \

如下图所示:

JS中处理单个反斜杠(即转义字符的处理)

输入 chn\  的时候,在  IE8  下弹出一个js错误。(在实际的项目的表单元素中遇到了,单独这样拿出来测试的时候又不弹出错误。也很是焦灼)

索性就写了个办法暂时解决了这个问题。也符合实际的需求。

测试代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript" src="jquery/jquery-1.7.2.js"></script>
<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function() {
$("#trans").keyup(function() {
if (this.value.indexOf("\\") >= 0) {
this.value = "";
}
this.value = this.value.toUpperCase();
});
});
</script>
<body>
<h1>测试反斜杠 \</h1>
测试转换大写:
<input id="trans" />
</body>
</html>

在网上查找相关资料的时候,看到不少人遇到 反斜杠 \ (转义字符) 的问题,诸如以下参考链接。

在单独拎出来做这个测试的时候,发现JQuery的高版本(3.2.1) 居然无效,然后是换成Jquery的1.7.2版本,亲测有效。

然后又了解到

目前jQuery有三个大版本:

1.x:兼容  ie  6  7  8,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4
(2016年5月20日)

2.x:不兼容  ie  6  7  8,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4
(2016年5月20日)

3.x:不兼容  ie  6  7  8,只支持最新的浏览器。除非特殊要求,一般不会使用3.x版本的,很多老的jQuery插件不支持这个版本。目前该版本是官方主要更新维护的版本。

1.X大版本下,细分版本非常多,各个版本的函数都会有一定的差异。网上看到的很多教程大多是1.x版本的。

---------

今天遇到的小问题,也引申了很多其它问题。

为此记录。

2017/10/26

参考资料:

1.http://blog.csdn.net/shi_yi_fei/article/details/51202209

2.http://blog.csdn.net/xufeng0991/article/details/46755825

3.http://www.jb51.net/article/60372.htm

4.Jquery版本参考:http://www.jb51.net/article/110228.htm