Javascript表单验证错误 表单验证 字段集{宽度:280px;填充:6px;} 标签{float:left;宽度:100px;字体:12px Arial;填充:5px;} 输入{页边距底部:5px;} 名字: 姓氏: 邮政编码: 电子邮件: 函数validateForm(){ var form=document.forms['inputForm']; 变量格式={ 名字:/^[a-z]+[\-`\s]?[a-z]+$/i, 姓氏:/^[a-z]+[\-`\S]?[a-z]+$/i, 邮政编码:/^\d{4}$/, 电子邮件:/^w+([\.-]?\w+*@\w+([\.-]?\w+*(\.\w{2,4})+$/ }; var elCount=form.elements.length; 对于(var i=0;i
,假设您所说的错误在这一行:Javascript表单验证错误 表单验证 字段集{宽度:280px;填充:6px;} 标签{float:left;宽度:100px;字体:12px Arial;填充:5px;} 输入{页边距底部:5px;} 名字: 姓氏: 邮政编码: 电子邮件: 函数validateForm(){ var form=document.forms['inputForm']; 变量格式={ 名字:/^[a-z]+[\-`\s]?[a-z]+$/i, 姓氏:/^[a-z]+[\-`\S]?[a-z]+$/i, 邮政编码:/^\d{4}$/, 电子邮件:/^w+([\.-]?\w+*@\w+([\.-]?\w+*(\.\w{2,4})+$/ }; var elCount=form.elements.length; 对于(var i=0;i,javascript,Javascript,,假设您所说的错误在这一行: <html> <head> <title> Form Validation </title> <style type="text/css"> fieldset { width: 280px; padding: 6px; } label { float: left; width: 100px; font: 12px Arial; padding: 5px; } input { margin-bottom: 5
<html>
<head>
<title> Form Validation </title>
<style type="text/css">
fieldset { width: 280px; padding: 6px; }
label { float: left; width: 100px; font: 12px Arial; padding: 5px; }
input { margin-bottom: 5px; }
</style>
</head>
<body>
<form id="inputForm" onsubmit="return validateForm();" action="#">
<fieldset>
<label>First Name:</label><input type="text" name="first_name" /><br />
<label>Surname:</label><input type="text" name="surname" /><br />
<label>Postcode:</label><input type="text" name="postcode" /><br />
<label>Email:</label><input type="text" name="email" /><br />
<input type="submit" name="submit" value="Send form" />
<input type="reset" name="reset" value="Reset" />
</fieldset>
</form>
<script type="text/javascript">
function validateForm() {
var form = document.forms['inputForm'];
var formats = {
First_name: /^[a-z]+[\-`\s]?[a-z]+$/i,
Surname: /^[a-z]+[\-`\S]?[a-z]+$/i,
Postcode: /^\d{4}$/,
Email:/^w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/
};
var elCount = form.elements.length;
for(var i = 0; i <elCount; i++) {
var field = form.elements[i];
if(field.type == 'text') {
if(!formats[field.name].test(field.value)) {
alert('Invalid '+field.name.replace('_', ' '));
field.focus();
return false;
}
}
}
}
</script>
</body>
</html>
我建议在“name”属性中使用小写的“n”:
if(!formats[field.Name].test(field.value)) {
JavaScript区分大小写
更新:除了我已经提到的内容,但仍然考虑大小写敏感度,您的格式
对象的属性名称大小写混合,例如First_name
,但是相应的输入元素有一个小写的name
属性,例如name=“First_name”
,因此当您检索元素的名称
并尝试使用它以格式
查找属性时,它将返回未定义
。您需要将这些大小写匹配
修复这些错误,它就可以工作了:你能告诉我们HTML源代码吗?
if(!formats[field.name].test(field.value)) {