Javascript表单验证:对每个字段调用相同的消息,可能是一些愚蠢的typo?
我通过创建这个表单验证来练习Javascript。我只想让每个文本字段都有不同的错误消息。谁能解释一下我做错了什么?我没有错误 这是我的代码:Javascript表单验证:对每个字段调用相同的消息,可能是一些愚蠢的typo?,javascript,forms,Javascript,Forms,我通过创建这个表单验证来练习Javascript。我只想让每个文本字段都有不同的错误消息。谁能解释一下我做错了什么?我没有错误 这是我的代码: <html> <head> <script language="javascript"> function ReloadTextDiv() { var NewText = document.getElementById("naam").value;
<html>
<head>
<script language="javascript">
function ReloadTextDiv() {
var NewText = document.getElementById("naam").value;
NewText = NewText.replace(/\n/g, '<br />');
var DivElement = document.getElementById("textDisplay");
DivElement.innerHTML = NewText;
}
function ReloadTextDiv2() {
var NewText = document.getElementById("email").value;
NewText = NewText.replace(/\n/g, '<br />');
var DivElement = document.getElementById("textDisplay2");
DivElement.innerHTML = NewText;
}
function ReloadTextDiv3() {
var NewText = document.getElementById("address").value;
NewText = NewText.replace(/\n/g, '<br />');
var DivElement = document.getElementById("textDisplay3");
DivElement.innerHTML = NewText;
}
</script>
<script type='text/javascript'>
function formValidator(){
var naam = document.getElementById('naam');
var address = document.getElementById('address');
var email = document.getElementById('email');
if(isname(naam, "Please enter only letters for your name")){
if(isAlphanumeric(address, "Numbers and Letters Only for Address")){
if(emailValidator(email, "Please enter a valid email address")){
return true;
}
}
}
return false;
}
function notEmpty(elem, helperMsg){
if(elem.value.length == 0){
alert(helperMsg);
elem.focus();
return false;
}
return true;
}
function isname(elem, helperMsg){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function isaddress(elem, helperMsg){
var alphaExp = /^[0-9a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function emailValidator(elem, helperMsg){
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
</script>
</head>
<body>
<div id="contact_form">
<form onsubmit='return formValidator()' >
<fieldset>
<legend>Subscription info</legend>
<label for="name">Username:</label>
<input type="text" name="naam" id="naam" class="text" onKeyUp="ReloadTextDiv();" />
<br />
<label for="mail">E-mail:</label>
<input type="text" name="email" id="email" class="text" onKeyUp="ReloadTextDiv2();" />
<br />
<label for="address">Address:</label>
<input type="text" name="address" id="address" size="40" class="text" onKeyUp="ReloadTextDiv3();" />
<legend><input type="submit" value="submit"></legend>
</fieldset>
</form>
</div>
<p><span id="textDisplay"></span></p>
<p><span id="textDisplay2"></span></p>
<p><span id="textDisplay3"></span></p>
</body>
<html>
函数重载TextDiv(){
var NewText=document.getElementById(“naam”).value;
NewText=NewText.replace(/\n/g,“
”);
var DivElement=document.getElementById(“textDisplay”);
DivElement.innerHTML=NewText;
}
函数重载TextDiv2(){
var NewText=document.getElementById(“电子邮件”).value;
NewText=NewText.replace(/\n/g,“
”);
var DivElement=document.getElementById(“textDisplay2”);
DivElement.innerHTML=NewText;
}
函数重载TextDiv3(){
var NewText=document.getElementById(“地址”).value;
NewText=NewText.replace(/\n/g,“
”);
var DivElement=document.getElementById(“textDisplay3”);
DivElement.innerHTML=NewText;
}
函数formValidator(){
var naam=document.getElementById('naam');
var address=document.getElementById('address');
var email=document.getElementById('email');
如果(isname(naam,“请仅输入您姓名的字母”)){
if(isAlphanumeric(地址,“仅用于地址的数字和字母”)){
如果(emailValidator(电子邮件,“请输入有效的电子邮件地址”)){
返回true;
}
}
}
返回false;
}
函数notEmpty(elem,helperMsg){
if(elem.value.length==0){
警报(helperMsg);
元素焦点();
返回false;
}
返回true;
}
函数isname(elem,helperMsg){
var numericExpression=/^[0-9]+$/;
if(元素值匹配(数值表达式)){
返回true;
}否则{
警报(helperMsg);
元素焦点();
返回false;
}
}
函数isaddress(elem,helperMsg){
var alphaExp=/^[0-9a-zA-Z]+$/;
if(元素值匹配(alphaExp)){
返回true;
}否则{
警报(helperMsg);
元素焦点();
返回false;
}
}
功能emailValidator(elem、helperMsg){
var emailExp=/^[\w\-\.\+]+\@[a-zA-Z0-9\.-]+\.[a-zA-Z0-9]{2,4}$/;
if(元素值匹配(emailExp)){
返回true;
}否则{
警报(helperMsg);
元素焦点();
返回false;
}
}
订阅信息
用户名:
电邮:
地址:
嗯,我认为尝试将名称验证为数字并不是最合理的做法;)
嗯,我认为尝试将名称验证为数字并不是最合理的做法;)
您每次都收到哪封邮件?代码重复是您的敌人。请不要使用
innerHTML
设置文本内容。请只为您的姓名输入字母。您每次收到哪封邮件?代码重复是您的敌人。请不要使用innerHTML
设置文本内容。请只为您的姓名输入字母名称表达式=/^[A-Z][A-zA-Z]+$/;像那样?给我相同的结果否,只接受字母以外的非空字符串的正则表达式是:/^[a-zA-Z]+$/。这是一个提琴,表达式是唯一改变的:var nameExpression=/^[a-Z][a-zA-Z]+$/;像那样?给我相同的结果否,只接受字母以外的非空字符串的正则表达式是:/^[a-zA-Z]+$/。这是一把小提琴,表情是唯一改变的:
function isname(elem, helperMsg){
var numericExpression = /^[0-9]+$/; // -> /^[a-zA-Z]+$/
// ...
}