Javascript 请提供一个联系人表单验证程序脚本的小帮助
我有此电子邮件表单验证脚本:Javascript 请提供一个联系人表单验证程序脚本的小帮助,javascript,validation,contact-form,Javascript,Validation,Contact Form,我有此电子邮件表单验证脚本: <script type="text/javascript" language="javascript"> function validateForm(thisform){ if(thisform.Name.value=="") { alert("Ooouuupppsss... You did not enter your Name."); thisform.Name.focus(); return fal
<script type="text/javascript" language="javascript">
function validateForm(thisform){
if(thisform.Name.value=="") {
alert("Ooouuupppsss... You did not enter your Name.");
thisform.Name.focus();
return false;
}
if(thisform.Email.value=="") {
alert("Ooouuupppsss... You did not enter a valid Email Address.");
thisform.Email.focus();
return false;
}
if(thisform.Subject.value=="") {
alert("Ooouuupppsss... You did not enter your Subject.");
thisform.Subject.focus();
return false;
}
if(thisform.Message.value=="") {
alert("Ooouuupppsss... You did not enter your Message.");
thisform.Message.focus();
return false;
}
}</script>
函数validateForm(thisform){
如果(thisform.Name.value==“”){
警报(“Ooouuuppss…您没有输入您的姓名。”);
thisform.Name.focus();
返回false;
}
如果(thisform.Email.value==“”){
警报(“ooouuuppss…您没有输入有效的电子邮件地址。”);
thisform.Email.focus();
返回false;
}
如果(thisform.Subject.value==“”){
警告(“Ooouuuppss…您没有输入您的主题。”);
thisform.Subject.focus();
返回false;
}
如果(thisform.Message.value==“”){
警报(“ooouuuppss…您没有输入您的消息。”);
thisform.Message.focus();
返回false;
}
}
有人能告诉我,为了让用户输入一个有效的电子邮件地址,我必须在这个脚本中添加什么。此外,我想在其余的领域,让用户输入文本(而不是链接)
我曾尝试添加我在不同网站上找到的不同代码片段,但它们不起作用,这是因为我不确定我添加的代码是否正确
谢谢你阅读我的请求
祝你一切顺利,
Andi有关正则表达式URL,请参见本文: 有关电子邮件验证,请参阅本文: 有关X浏览器事件侦听的信息,请参见此项,如果要使用jQuery,ie8将使用attach,请参见此项: 我建议通过表单输入进行循环,并检查其电子邮件和是否未针对链接运行正则表达式
(function(){
var validateForm = function(form){
var errors = [], inputs = form.getElementsByTagName('input');
for(var input = 0; input<inputs.length; input++){
var currentInput = inputs[input];
if(currentInput.value === ''){
// handle attributes here for error message, push error message
if(currentInput.attribute('name') === 'email'){
// handle email
// push error message
}
}
}
return errors;
}
var contactForm = document.getElementById('contact');
contactForm.addEventListener('submit', function(e){
var errorMessages = validateForm(contactForm);
if(errorMessages.length === 0){
} else {
e.preventDefault() // stop the form from submitting
// handle your messages
}
}
}());
(函数(){
var validateForm=函数(形式){
var errors=[],inputs=form.getElementsByTagName('input');
对于(var input=0;input对于电子邮件检查,在检查电子邮件是否为空后,您可以在else部分中使用以下代码
function validateForm(){
var email = document.getElementById("email").value;
var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
if (email.search(emailRegEx) == -1) {
alert("e-mail is not valid");
return false;
}
}
对于具有相同逻辑的url,可以使用以下正则表达式
var urlRegEx = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/;
下面是一个基于您的工作的工作示例,您可以改进此代码—它只是为了向您展示它应该是什么样子
function validateForm(thisform){
if(thisform.Name.value=="") {
alert("Ooouuupppsss... You did not enter your Name.");
thisform.Name.focus();
return false;
}
else{
var name = thisform.Name.value;
if (!checkURL(name)) {
alert("name cannot be a url");
return false;
}
}
if(thisform.Email.value=="") {
alert("Ooouuupppsss... You did not enter a valid Email Address.");
thisform.Email.focus();
return false;
}
else{
var email = thisform.Email.value;
var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
if (email.search(emailRegEx) == -1) {
alert("e-mail is not valid");
return false;
}
}
if(thisform.Subject.value=="") {
alert("Ooouuupppsss... You did not enter your Subject.");
thisform.Subject.focus();
return false;
}
else{
if (!checkURL(thisform.Subject.value)) {
alert("subject cannot contain a url");
return false;
}
}
if(thisform.Message.value=="") {
alert("Ooouuupppsss... You did not enter your Message.");
thisform.Message.focus();
return false;
}
else{
if (!checkURL(thisform.Message.value)) {
alert("message cannot contain a url");
return false;
}
}
}
function checkURL(url){
var urlRegEx = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/;
if (url.search(urlRegEx) == -1) {
return true;
}
return false;
}
非常感谢您的回答。在我看来,您的回答似乎是一个很好的选择。不幸的是,我在这个领域非常新,我无法找到如何将您的代码包含在我的代码中,我已经尝试了好几次,但我只得到了错误。我非常确定,有一些事情我做得不对。我在后面添加了一个“其他”部分“如果电子邮件是空的”部分,请咨询w3school.com如何做到这一点,但仍然不起作用:(如果你有空闲时间,你能帮我吗?再次非常感谢!我添加了一个工作示例,如果这不起作用,你也应该发布你的htmlOK,我添加了你给我的代码,不幸的是它不起作用。是否可能是因为.php文件将联系人表单中的信息重定向到我的电子邮件中?thphp文件还包含一个小JavaScript,在提交表单后,它会创建一个带有“谢谢”消息的小窗口。我几乎可以肯定HTML代码是正确的,因为在我将其他命令添加到我在第一篇文章中插入的JavaScript之前,一切都正常工作。再次感谢:)我真的很抱歉,我的问题再次困扰您。如果html部分没有问题,请尝试使用警报调试代码。也许您可以找到损坏的部分。