首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Javascript中验证(澳大利亚)电话号码

在Javascript中验证(澳大利亚)电话号码
EN

Stack Overflow用户
提问于 2013-03-24 06:29:22
回答 5查看 23K关注 0票数 2

我需要验证澳大利亚的电话号码(例如02[3-9]\d{7}07[3-9]\d{7}04[\d]{8})在JavaScript中。

需求:

  • 必须是10位数
  • 没有逗号
  • 无破折号
  • 前面没有+
  • 必须以0开头

目前,我可以验证所需的字段和电子邮件地址,但我想添加电话号码验证。

代码语言:javascript
运行
复制
<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>

有人能帮忙吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-24 06:40:26

下面是我要重新评论的一个正则表达式

代码语言:javascript
运行
复制
var pattern = /^0[0-8]\d{8}$/g;

所以输入必须以0开头,后面跟着一个数字,它必须是0-8之间的数字。那么它肯定还有8个数字。

有效电话号码示例:

0010293999 (好)

0110293999 (好)

0210293999 (好)

0910293999 (否)

//执行

代码语言:javascript
运行
复制
 ........
 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;
   }
 ..........

-编辑

代码语言:javascript
运行
复制
........
     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;
       }
     ..........
票数 9
EN

Stack Overflow用户

发布于 2014-01-04 01:18:38

这要感谢保罗·费雷特 (php不是js,但是regex应该翻译):

代码语言:javascript
运行
复制
<?php
function validate_phone($number) {
  $number = preg_replace('/[^\d]/', '', $number);
  return preg_match('/^(0(2|3|4|7|8))?\d{8}$/', $number)
    || preg_match('/^1(3|8)00\d{6}$/', $number)
    || preg_match('/^13\d{4}$/', $number);
}

注:“麻省理工学院许可证”

票数 4
EN

Stack Overflow用户

发布于 2013-03-24 06:36:03

看看Javascript RegExp对象和RegExp test()方法。

代码语言:javascript
运行
复制
var patt = /04[\d]{8}/g; // Shorthand for RegExp object

var phoneNumber1 = '0412345678';
var result1 = patt.test(phoneNumber1); // result1 is true

var phoneNumber2 = 'abc';
var result2 = patt.test(phoneNumber2); // result2 is false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15595819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档