我需要测试的输入字段( <input type="text" />
针对此正则表达式:
[^'"]+
这显然是因为我不能使用不容易的任务"
的属性中,使用QUOT实体似乎并没有因为它得到的正则表达式引擎字面解释工作。
我怎样才能做到这一点?
我需要测试的输入字段( <input type="text" />
针对此正则表达式:
[^'"]+
这显然是因为我不能使用不容易的任务"
的属性中,使用QUOT实体似乎并没有因为它得到的正则表达式引擎字面解释工作。
我怎样才能做到这一点?
HTML5的@pattern属性的正则表达式是基于JavaScript的正则表达式,所以你可以为你在JavaScript中要使用十六进制表示或Unicode符号为字符:
" = \x22 OR \u0022
' = \x27 OR \u0027
所以,你可以很容易地使用
pattern="[^'\x22]+"
TADA! 没有JavaScript库参与! ;)
尝试使用JS框架如jQuery或PrototypeJS
那么你可以说
onchange=(function() {...});
你可以按照如何通过这个线程jQuery的使用正则表达式: jQuery的正则表达式字段验证
如果你有一个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
}
});
}