我需要在JavaScript中驗證澳大利亞電話號碼(例如02[3-9]\d{7}
或07[3-9]\d{7}
或04[\d]{8}
)。使用Javascript驗證(澳大利亞)電話號碼
要求:
- 必須是10位數字
- 沒有逗號
- 沒有破折號
- 沒有+前面
- 必須以0
在開始我可以驗證所需的時刻字段和電子郵件地址,但我想添加電話號碼驗證。
<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>
有人可以幫忙嗎?
請注意,你不能依賴客戶端數據(甚至不是客戶端驗證的數據) – 2013-03-24 10:04:22
@kaᵠ客戶端驗證以及服務器端驗證會更好,因爲如果客戶端驗證失敗,它將不會要提交可能會保存一些HTTP請求。 – Jason 2013-03-24 11:48:27
@EnglishMaster改進用戶體驗也是因爲(真正的)用戶更願意知道那裏的任何錯誤,而不是在網站花時間處理頁面並返回結果之後。 – 2016-05-15 14:27:54