0
此電話號碼驗證器不起作用:/。爲什麼?爲什麼這個javascript手機字段表單驗證器不工作?
理想情況下,如果可選電話字段不爲空,則應繼續驗證表單。
電話字段是可選的,不是必需的。
驗證形式:
- 手機領域是可選的。這意味着它不是必需的。
- 它應該忽略比較除數字以外的所有內容。
- 如果數字計數是!= 10個數字,它應該顯示錯誤。
- 如果計數等於10個數字,但是應當轉嫁給name.php(見HTML)
JavaScript代碼:
function validateForm() {
var x=document.forms["form"]["name"].value;
if (x==null || x=="")
{
alert("Name is required.");
return false;
}
var y=document.forms["form"]["email"].value;
var atpos=y.indexOf("@");
var dotpos=y.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=y.length)
{
alert("Valid email required.");
return false;
}
var formValue = document.forms["form"]["number"].value;
var regExpressionValue = /[^\d.]/g;
if (formValue !== null)
{
if (regExpressionValue.test(formValue) !== true)
{
alert("Optional phone number invalid. Example: [1234567890].");
return false;
}
}
return true;
}
HTML:
<form class="form" id="form" name="form" method="post" action="name.php" onsubmit="return validateForm()" />
<input type="text" name="name" id="name" />
<input type="text" name="email" id="email" />
<input type="tel" name="number" id="number" />
<button type="submit" value="Send" />Sign Up</button>
<div class="spacer"></div>
</form>
你可不要擴展一下嗎?這不是很有幫助。 – SpaceBeers 2012-07-19 09:11:21
感謝擴展我的if(formValue)是錯誤的,它真的幫了大忙! (也是你的正則表達式) – 2012-07-21 00:37:46