在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); 弹出'单引号,正确。 '----单引号 "-----双引号 在一个网页中的按钮,写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("OK");" /> 这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。 两个双引号的做法是vbScript的,\"这种做法则是javascript的,而HTML的,则是用",此外还可以使用:"、'。 下面列出各种表达方法: <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转义字符"(& q u o t ;)-OK" type="button" onclick="alert("OK");" /><br /> < input value="HTML转义字符'(& a p o s ;)-IE错误"type="button" onclick="alert('OK');" /><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 转意:
'----单引号"-----双引号
网上有很多解决方法,比如其中一种:
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);弹出'单引号,正确。
'----单引号"-----双引号
在一个网页中的按钮,写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("OK");" />这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。
两个双引号的做法是vbScript的,\"这种做法则是javascript的,而HTML的,则是用",此外还可以使用:"、'。
下面列出各种表达方法:<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转义字符"(& q u o t ;)-OK" type="button" onclick="alert("OK");" /><br />< input value="HTML转义字符'(& a p o s ;)-IE错误"type="button" onclick="alert('OK');" /><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 版权声明:本文为博主原创文章,转载请附上博文链接!