Web*_*doz 2 javascript regex forms validation
我需要在JavaScript中验证澳大利亚的电话号码(例如02[3-9]\d{7}或07[3-9]\d{7} 或04[\d]{8}).
要求:
目前我可以验证必填字段和电子邮件地址,但我想添加电话号码验证.
<html>
<head>
<script type="text/javascript">
function validateForm() {
var x=document.forms["form3"]["name"].value;
if (x==null || x=="") {
alert("Name must be filled out");
return false;
}
var s=document.forms["form3"]["phone"].value;
if (s==null || s=="") {
alert("Please Enter your Phone or Mobile Number - Preferably Phone Number");
return false;
}
var s=document.forms["form3"]["email"].value;
if (s==null || s=="") {
alert("Please Enter a valid email address");
return false;
}
var k=document.forms["form3"]["email"].value;
var atpos=k.indexOf("@");
var dotpos=k.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=k.length) {
alert("Email Address is Not Valid. Please provide your correct email address.");
return false;
}
}
</script>
</head>
<body>
<form action="/thank-you.php" name="form3" method="post" onsubmit="return validateForm();" >
Your name* <input type="text" name="name" />
Phone number* <input type="text" name="phone" />
Email* <input type="text" name="email" />
<input type="submit" value="sumbit" name="submit" class="button" onclick="javascript:return validateMyForm();" /><input type="reset" value="Reset" class="resetbutton" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
这是我要推荐的正则表达式
var pattern = /^0[0-8]\d{8}$/g;
Run Code Online (Sandbox Code Playgroud)
因此输入必须从0开始,后跟一个数字,它必须是0-8之间的一个.然后它必须有8个以上的数字.
有效的电话号码示例:
0010293999(好的)
0110293999(好的)
0210293999(好的)
0910293999(不是)
//实现
........
var phoneNumber =document.forms["form3"]["phone"].value;
var phonePattern = /^0[0-8]\d{8}$/g;
//phone number is not valid. Please notice that you don't need to check if it's empty or null since Regex checks it for you anyways
if (!phoneNumber.test(phonePattern))
{
alert("Please Enter your Phone or Mobile Number - Preferably Phone Number");
return false;
}
..........
Run Code Online (Sandbox Code Playgroud)
----编辑
........
var phoneNumber =document.forms["form3"]["phone"].value;
var phonePattern = /^0[0-8]\d{8}$/g;
//phone number is not valid. Please notice that you don't need to check if it's empty or null since Regex checks it for you anyways
if (!phonePattern.test(phoneNumber))
{
alert("Please Enter your Phone or Mobile Number - Preferably Phone Number");
return false;
}
..........
Run Code Online (Sandbox Code Playgroud)