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

分类: JavaScript 2010-12-08 15:02  4074人阅读  评论(1)  收藏  举报

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" οnclick="alert(""OK"");" />
IE提示出错后,再漫不经心地改为:
<input value="Test" type="button" οnclick="alert(\"OK\");" />
结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:
<input value="" type="button" οnclick="alert('OK');" />
但为什么javascript中的转义字符\没有效果了呢?

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

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北方的刀郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值