在网络表单中,我有多个字段,每个字段都有一些独特的验证,如电话和邮政编码只有数字,有些字段不允许使用特殊字符。那么如何验证每个字段?
现在我验证了
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 32 && (charCode < 48 || charCode > 57)||(charCode==32))
return false;
return true;
}
function isAlphaNumericKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)&& (charCode < 48 || charCode > 57))
return false;
return true;
}
在某些情况下,我需要允许一些特殊字符,如
function isANhypenKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)&& (charCode < 48 || charCode > 57) && (charCode!=44) && (charCode!=45))
return false;
return true;
}
和HTML表单
<input type="text" name="zipcode" id="zipcode" onkeypress="return isNumberKey(event);"/>
<input type="text" name="shipname" id="shipname" onkeypress="return isANhypenKey(event);" />
如何减少我的JS代码。我可以获得任何JS库文件或JS函数可以解决这个问题吗?感谢
答案 0 :(得分:2)
您可以使用几个库。如果你想坚持使用没有任何jQuery的纯JavaScript,那么你最好的选择可能是Validate JS。
如果你愿意使用jQuery,有很多jQuery选项 - 这些通常更具功能性,也更好看。 您还可以使用Foundation Framework中内置的Validator - 它被称为Abide,但它使用jQuery。
希望这有帮助。
答案 1 :(得分:0)
耶 http://rickharrison.github.io/validate.js/ 最好,最简单易用 检查该链接
答案 2 :(得分:0)
您可以查看jQuery validation plugin - 它非常有用,您也可以轻松地向表单添加验证错误,以便用户知道输入的错误。
通过这种方式,您将避免大量手动JS验证代码。
答案 3 :(得分:0)
这可能是您正在寻找的答案,也可能不是,但也许您应该寻找一个解决方案 这需要更少的JavaScript:
在HTML 5中,您可以使用模式指定输入应接受的值的类型,您可以在此mozilla page上阅读此内容或阅读此问题的答案:{{3} }。
<input type="text" name="country_code" pattern="put a regex here that describes only valid input for your situations" title="Three letter country code">
请注意,并非所有浏览器(主要是Safari和旧版IE)目前都支持模式属性。
另一点值得注意的是,如果首选解决方案,最好在JavaScript代码中使用RegEx。