HTML5输入模式寻求报价HTML5输入模式寻求报价(HTML5 input pattern sea

2019-05-12 09:18发布

我需要测试的输入字段( <input type="text" />针对此正则表达式:

[^'"]+

这显然是因为我不能使用不容易的任务"的属性中,使用QUOT实体似乎并没有因为它得到的正则表达式引擎字面解释工作。

我怎样才能做到这一点?

Answer 1:

HTML5的@pattern属性的正则表达式是基于JavaScript的正则表达式,所以你可以为你在JavaScript中要使用十六进制表示Unicode符号为字符:

" = \x22 OR \u0022
' = \x27 OR \u0027

所以,你可以很容易地使用

pattern="[^'\x22]+"

TADA! 没有JavaScript库参与! ;)



Answer 2:

尝试使用JS框架如jQuery或PrototypeJS

那么你可以说

onchange=(function() {...});

你可以按照如何通过这个线程jQuery的使用正则表达式: jQuery的正则表达式字段验证



Answer 3:

如果你有一个HTML5浏览器,你可以写

<input id="ipt_my_field" type="text" name="my_field_name" pattern="[^'"]+" 

你需要能够不要用浏览器准备近代化与一些像这样的

if(!Modernizr.input.pattern) {
    var input = document.getElementById("ipt_my_field");
    input.addEvent('onblur', function(ip){
        if(ip.value.match(/[^'"]+/)) {
          // is a good
        } else {
          // is a bad
        }
    });
}


文章来源: HTML5 input pattern search for quote