HTML5input模式search报价
我需要testinginput字段( <input type="text" />
)对这个正则expression式:
[^'"]+
这显然不是一件容易的事情,因为我不能使用"
属性内部”。使用“引用”实体看起来并不像在正则expression式引擎中那样工作。
我怎样才能做到这一点?
HTML5 @pattern属性正则expression式基于JavaScript正则expression式,因此您可以像使用JavaScript一样对该字符使用hex表示法或unicode表示法 :
" = \x22 OR \u0022 ' = \x27 OR \u0027
这样你就可以轻松使用
pattern="[^'\x22]+"
TADA! 没有JavaScript库参与! ;)
尝试使用js框架,如JQuery或PrototypeJS
那么你可以说
onchange=(function() {...});
你可以通过这个线程来了解如何在jQuery上使用正则expression式:jQuery中的正则expression式字段validation
如果你有一个HTML5浏览器,你可以写
<input id="ipt_my_field" type="text" name="my_field_name" pattern="[^'"]+"
而且你需要用Modernizer来准备一些function不佳的浏览器
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 } }); }