【发布时间】:2012-04-19 19:16:47
【问题描述】:
我想检查输入字段是否具有“模式”属性,如果是,则执行正则表达式检查以表示模式。我知道这已经由 HTML5 完成,但我想自己处理该事件。我收到此错误:Uncaught TypeError: Object a-zA-Z has no method 'test'
///Check Perform Reg///////////////////////////////////////////////////////
if ($(this).attr("pattern")) {
var reg = $(this).attr("pattern");
var currentValue = $(this).val();
if (reg.test(currentValue)) {
$(this).after($error.clone().text("Invalid Input.Try Again."));
$(".error:hidden").fadeIn("slow");
hasError = true;
return false;
}
}
///////////////////////////////////////////////////////////////////////////
仍然没有运气,
这也是我的html:
<div>
<input class="formInput" name="First Name" pattern="^[A-Za-z_-][A-Za-z0-9_-]*$" type="text" id="frmFirst" min="2" maxlength="30" required="required"/>
<span>First Name</span>
</div>
【问题讨论】:
-
在 HTML 部分设置模式不是一个好的解决方案,因为任何人都可以绕过它而无需任何检查。所以,你应该直接在js中检查模式是否匹配。
标签: jquery regex validation