【发布时间】:2016-01-21 06:25:19
【问题描述】:
我想运行我的页面来测试我的验证是否有效。但是,它不适用于电子邮件地址。我为电子邮件地址添加了正则表达式。它没有完全验证。
我输入a@live 没有输入.com 它能够接受它。我认为这是因为我输入了input="email" 纠正我错了。是因为错误的正则表达式还是我放置代码的方式?
javascript
function validate(){
var fname = document.getElementById('fname').value;
var lname = document.getElementById('lname').value;
var email = document.getElementById('email').value;
var emailReg = '/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/';
var re = /^[\w ]+$/;
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(email=="")
{
alert('Please fill in email fields');
return false;
}
else if(fname=="")
{
alert('Please fill in first name fields');
return false;
}
else if(lname=="")
{
alert('Please fill in last name fields');
return false;
}
return true;
}
register.php
<form name="registrationForm" method="post" id="registrationForm" class="registrationForm" action="processRegister.php" onclick="validate">
<div class='input1'>
<span id="emailAddress-label" class="help"></span>
<input class="regemailaddr" id="emailAddress" name="emailAddress" type="email" placeholder="Email Address " value="" required>
</div>
<br>
<span id="fname-label" style="margin-bottom:" class="help"></span>
<input id="fname" name="fname" type="text" placeholder="First Name " class="fname" value="" required>
<span id="lname-label" class="help"></span> <input id="lname" name="lname" type="text" placeholder="Last Name " class="lname" value="<?php echo $user_profile["lname"]; ?>" required>
<br>
<button class="greybtn" type="submit" id="submitButton">Submit</button>
<button class="cancelbtn" type="button" id="cancelButton" onclick="window.location='#';return false;">Cancel</button>
</form>
【问题讨论】:
-
live是一个有效的主机名,a@live是一个完全有效的电子邮件? -
您在哪里针对正则表达式测试输入?
-
我试着在表单中输入这个并点击提交按钮,它接受了。这就是为什么我不知道为什么它可以接受,因为我没有输入正确格式的电子邮件。
-
对不起,我不明白你@user2181397
-
检查此链接stackoverflow.com/questions/46155/… 也是 Eric J 给出的答案。您需要测试您的输入
标签: javascript regex validation email-validation