找回密码
 注册

html5 pattern 属性包含引号时的处理方式

php 发表于 2015/12/11 00:57 | 显示全部楼层 |阅读模式
HTML(包括HTML5)中,用引号包裹属性值时,在一对双引号之间不能出现另外的双引号,即使使用\"也不行,同理,在一对单引号之间不能存在另外的单引号,不能用\'表示转义。
如果需要在双引号中使用双引号,只能使用"或者"
如果需要在单引号中使用单引号,只能使用'或者'
在单引号内使用双引号,或者在双引号中使用单引号,不受影响。
  1. <input type="text" value=""Hello", she said." />
复制代码
以上写法是错误的,因为在双引号内出现了双引号。

HTML pattern 属性如果要通过正则表达式实现允许或者排除双引号,以上规律同样适用。
如果正则表达式中只有单引号和双引号两者之一,可以内层使用要作为正则表达式一部分的引号,外层使用另外一种引号。
  1. <input type="text" pattern="[^"]+" />
复制代码
以上正则表达式意图禁止用户输入",但这种写法是错误的,因为双引号内部出现了双引号。
  1. <input type="text" pattern="[^&quot;]+" />
复制代码
以上写法是正确的。

评分

参与人数 1E币 +13 收起 理由
T + 13 加分鼓励

查看全部评分

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表