我有这段代码[源自本网站上的不同用户 - 谢谢!]我需要修改,以便我可以检查多个字段而不是一个。我不确定是否应该向第二个函数添加参数或将变量checkString转换为数组。
function getField(fieldType, fieldTitle) {
var docTags = document.getElementsByTagName(fieldType);
for (var i = 0; i < docTags.length; i++) {
if (docTags[i].title == fieldTitle) {
return docTags[i]
}
}
}
function checkField() {
var checkString = getField('input', 'fieldtocheck').value;
if (checkString != "") {
if (/[^A-Za-z\d]/.test(checkString)) {
alert("Please enter only alphanumeric characters for the field fieldtocheck");
return (false);
}
}
}
我认为最好的选择是将“getfield”作为参数提供给“checkfield”但是我该怎么做?
任何帮助表示感谢。
答案 0 :(得分:2)
我会使你的函数更通用,并使用类来识别字段:
function checkFields(className, regex) {
var inputs = document.getElementsByClassName(className);
for (var i = 0; i < inputs.length; i++) {
if (!regex.match(inputs[i].value)) {
return false;
}
}
return true;
}
function validate() {
if (!checkFields('alphanum', /^[A-Za-z\d]+$/)) {
alert('Please enter only alphanumeric characters');
}
}
您的HTML可能如下所示:
<input type="text" class="alphanum" />
更简单(更好的IMO)方法是使用jQuery validation plugin。