php - 使用 php 进行 Javascript 验证示例 1

标签 php javascript forms validation

我有一个包含 4 个字段的表单 名字(必填) 姓氏(必填) 电子邮件(必填) 电话(可选)(如果用户输入任何内容,它应该验证是否为数字)下面是我的表格

<form name="myForm" method="post" onsubmit="return validate();">
First Name : <input type="text" name="fname" id="id_fname"> <br>
Last Name : <input type="text" name="lname" id="id_lname"> <br>
Email : <input type="text" name="email" id="id_email"> <br>
Phone : <input type="text" name="phone" id="id_phone"> <br>
<input type="submit" value="send">
</form>

下面是 JavaScript 代码

<script type="text/javascript">
function validate()
{
 if (document.myForm.id_fname.value == '') {
alert("Enter First Name"); 
return false;}

else if(document.myForm.id_lname.value == '') {
alert("Enter Last Name");
return false; }

//现在这里电子邮件验证不起作用

else if(document.myForm.id_email.value == '' || document.myForm.id_email.value != ''){
var x = document.myForm.id_email.value;
    var atpos=x.indexOf("@");
    var dotpos=x.lastIndexOf(".");
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
    alert("Not a valid e-mail address");
    return false;
    else
    return true;
    } 

//这是电话号码,如果此字段为空则不验证,如果此字段不为空则应验证仅包含数字

else if(document.myForm.id_phone != '') {
var ValidChars = "0123456789";
var IsNumber=true;
var Char;
sText = document.form1.testfield2_phone.value ;
for (i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
IsNumber = false;
}
}

if(IsNumber == false)
alert("Enter valid Number");
return false;
else
return true;
}


else
return true;
document.myForm.submit();
}
</script>

当我评论这些电子邮件和电话时,电子邮件验证和电话验证不起作用,我对名字和姓氏进行了良好的验证...验证代码中是否有任何错误。

当提交表单时,当我们刷新时,详细信息会再次重新提交,如何避免这种情况。

最佳答案

为什么搞得这么复杂???

if (document.myForm.id_fname.value.length < 3) {
    alert("Enter First Name");
    return false;
} else if (document.myForm.id_lname.value.length < 3) {
    alert("Enter Last Name");
    return false;
} else if (!/^\S+@\S+\.\w+$/.test(document.myForm.id_email.value)) {
    alert("Not a valid e-mail address");
    return false;
} else if (!/^\d+$/.test(document.myForm.id_phone.value)) {
    alert("Enter valid Number");
    return false;
}
return true;

关于php - 使用 php 进行 Javascript 验证示例 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8192355/

相关文章:

ajax - :remote form with multiple submit buttons

php - 在没有 Cron 作业的情况下创建计划任务

php - 创建 CSV 文件并强制下载文件

php - JavaScript 重定向不起作用?

javascript - 我应该什么时候为特定的副作用创建一个新的订阅?

javascript - 用于将某物分配为对象属性的函数?

javascript - 如何使提交按钮显示为链接?

javascript 'go to page' 表单脚本

php - 在每个中选择第一个(SQL/PHP)

PHP - Fulifilm 照片的 exif 数据损坏