jsp接收 input文本输入框中,无法正确显示单引号和双引号的问题

在html的input文本输入框中,无法正确显示单引号和双引号的问题
分类: JavaScript2010-12-08 15:02 4074人阅读 评论(1) 收藏 举报
inputhtmljqueryc
html 转意:

'----单引号
"-----双引号



网上有很多解决方法,比如其中一种:

pName = pName.replace(/([",'])/g,'//$1');    //单引号:' 双引号:"进行替换

还可以使用:

 

<input type="text" value="'"/>    如果是要输出单引号',就用双引号进行包括,如果是要输出双引号",就用单引号'进行包括。

<input type="text" value='"'/>

 

还可以用jquery的方法,直接对这些input

进行赋值,这样比较方便。

 

还有一个涉及到符号的问题:

 

就是eval函数的问题:

比如:

 

var a = eval('({"a":"b","c":""})');

alert(a.c);    弹出为空。

 

 

var a = eval('({"a":"b","c":"'"})');

alert(a.c);    弹出为空。

var a = eval('({"a":"b","c":"'"})');    双引号包括单引号
var a = eval('({"a":"b","c":"""})');    双引号包括双引号
var a = eval('({"a":"b","c":"/""})');    双引号包括转义的双引号
上面的3者都报错。只有下面的:
var a = eval('({"a":"b","c":"/'"})');
alert(a.c);    弹出'单引号,正确。
 

&apos;----单引号
&quot;-----双引号

在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:
<input value="Test" type="button" onclick="alert(""OK"");" />
IE提示出错后,再漫不经心地改为:
<input value="Test" type="button" onclick="alert(\"OK\");" />
结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:
<input value="" type="button" onclick="alert('OK');" />
但为什么javascript中的转义字符\没有效果了呢?

后来找到一段正常的代码:
<input value="Test" type="button" onclick="alert(&quot;OK&quot;);" />
这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。

两个双引号的做法是vbScript的,\"这种做法则是javascript的,而HTML的,则是用&quot;,此外还可以使用:"、'。

下面列出各种表达方法:
<html>
< body>
< input value="外双引号内双引号-错误" type="button" onclick="alert("OK");" /><br />
< input value="外单引号内单引号-错误" type="button" onclick='alert('OK');' /><br />
< input value="两个双引号-错误" type="button" onclick="alert(""OK"");" /><br />
< input value="两个单引号-错误" type="button" onclick="alert(''OK'');" /><br />
< input value="\+双引号-错误" type="button" onclick="alert(\"OK\");" /><br />
< input value="\+单引号-错误" type="button" onclick="alert(\'OK\');" /><br />
< input value="外双引号内单引号-OK" type="button" onclick="alert('OK');" /><br />
< input value="外单引号内双引号-OK" type="button" onclick='alert("OK");' /><br />
< input value="外部不使用引号-OK" type="button" onclick=alert('OK');alert("OK"); /><br />
< input value="HTML转义字符"(& # 3 4 ;)-OK" type="button" onclick="alert("OK");" /><br />
< input value="HTML转义字符'(& # 3 9 ;)-OK" type="button" onclick="alert('OK');" /><br />
< input value="HTML转义字符"(& # x 2 2 ;)-OK" type="button" onclick="alert('OK');" /><br />
< input value="HTML转义字符'(& # x 2 7 ;)-OK" type="button" onclick="alert('OK');" /><br />
< input value="HTML转义字符&quot;(& q u o t ;)-OK" type="button" onclick="alert(&quot;OK&quot;);" /><br />
< input value="HTML转义字符&apos;(& a p o s ;)-IE错误"type="button" onclick="alert(&apos;OK&apos;);" /><br />

<input value="其它\\-错误" type="button" onclick="alert(\\"OK\\");" /><br />
< input value="其它\& # 3 4 ;-错误" type="button" onclick="alert(\"OK\");" /><br />
< /body>
< /html>

在html的input文本输入框中,无法正确显示单引号和双引号的问题分类: JavaScript2010-12-08 15:02 4074人阅读 评论(1) 收藏 举报inputhtmljquerychtml 转意:
&apos;----单引号&quot;-----双引号


网上有很多解决方法,比如其中一种:
pName = pName.replace(/([",'])/g,'//$1');//单引号:&#39; 双引号:&#34;进行替换
还可以使用:
 
<input type="text" value="'"/>如果是要输出单引号',就用双引号进行包括,如果是要输出双引号",就用单引号'进行包括。
<input type="text" value='"'/>
 
还可以用jquery的方法,直接对这些input
进行赋值,这样比较方便。
 
还有一个涉及到符号的问题:
 
就是eval函数的问题:
比如:
 
var a = eval('({"a":"b","c":""})');
alert(a.c);弹出为空。
 
 
var a = eval('({"a":"b","c":"'"})');
alert(a.c);弹出为空。
var a = eval('({"a":"b","c":"'"})');双引号包括单引号var a = eval('({"a":"b","c":"""})');双引号包括双引号var a = eval('({"a":"b","c":"/""})');双引号包括转义的双引号上面的3者都报错。只有下面的:var a = eval('({"a":"b","c":"/'"})');alert(a.c);弹出'单引号,正确。 
&apos;----单引号&quot;-----双引号
在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:<input value="Test" type="button" onclick="alert(""OK"");" />IE提示出错后,再漫不经心地改为:<input value="Test" type="button" onclick="alert(\"OK\");" />结果还是出错。这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:<input value="" type="button" onclick="alert('OK');" />但为什么javascript中的转义字符\没有效果了呢?
后来找到一段正常的代码:<input value="Test" type="button" onclick="alert(&quot;OK&quot;);" />这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。
两个双引号的做法是vbScript的,\"这种做法则是javascript的,而HTML的,则是用&quot;,此外还可以使用:"、'。
下面列出各种表达方法:<html>< body>< input value="外双引号内双引号-错误" type="button" onclick="alert("OK");" /><br />< input value="外单引号内单引号-错误" type="button" onclick='alert('OK');' /><br />< input value="两个双引号-错误" type="button" onclick="alert(""OK"");" /><br />< input value="两个单引号-错误" type="button" onclick="alert(''OK'');" /><br />< input value="\+双引号-错误" type="button" onclick="alert(\"OK\");" /><br />< input value="\+单引号-错误" type="button" onclick="alert(\'OK\');" /><br />< input value="外双引号内单引号-OK" type="button" onclick="alert('OK');" /><br />< input value="外单引号内双引号-OK" type="button" onclick='alert("OK");' /><br />< input value="外部不使用引号-OK" type="button" onclick=alert('OK');alert("OK"); /><br />< input value="HTML转义字符"(& # 3 4 ;)-OK" type="button" onclick="alert("OK");" /><br />< input value="HTML转义字符'(& # 3 9 ;)-OK" type="button" onclick="alert('OK');" /><br />< input value="HTML转义字符"(& # x 2 2 ;)-OK" type="button" onclick="alert('OK');" /><br />< input value="HTML转义字符'(& # x 2 7 ;)-OK" type="button" onclick="alert('OK');" /><br />< input value="HTML转义字符&quot;(& q u o t ;)-OK" type="button" onclick="alert(&quot;OK&quot;);" /><br />< input value="HTML转义字符&apos;(& a p o s ;)-IE错误"type="button" onclick="alert(&apos;OK&apos;);" /><br />
<input value="其它\\-错误" type="button" onclick="alert(\\"OK\\");" /><br />< input value="其它\& # 3 4 ;-错误" type="button" onclick="alert(\"OK\");" /><br />< /body>< /html>--------------------- 作者:北方的刀郎 来源:CSDN 原文:https://blog.csdn.net/forest_fire/article/details/50944717 版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/huyanlon/p/9979841.html