1 回答

TA貢獻1942條經(jīng)驗 獲得超3個贊
您的代碼對所有輸入返回 invalid 的原因是因為您實際上并未針對輸入的輸入進行測試,而是針對空字符串進行測試''。
.innerHTML將返回一個空字符串,因為標簽的開頭和結(jié)尾之間沒有 HTML input。要獲取控件的值,請嘗試使用類似的方法,var tel = document.getElementById("tel").value; 這將返回實際的用戶輸入。
所以你的代碼應該是這樣的:
function validate() {
var tel = document.getElementById("tel").value;
var email = document.getElementById("email").value;
var pcode = document.getElementById("pcode").value;
var tvalid = /^(\d{3}-\d{3}-\d{3}-\d{4})$/;
if (!tvalid.test(tel)) {
alert("Not a valid Phone Number");
}
if (!(/@gmail\.com$/.test(email)) && !(/@hotmail\.com$/.test(email)) && !(/@outlook\.com$/.test(email))) {
alert("Not a valid email");
}
var pvalid = /^([A-Z][A-Z]\d{2}-[a-z]\d[A-Z]\d)$/;
if (!pvalid.test(pcode)) {
alert("Not a valid postal code.");
}
}
<label for="tel">Phone Number</label>
<input type="tel" id="tel" name="tel" placeholder="Format: 001-123-456-7890" required><br>
<input type="tel" id="tel" name="tel" placeholder="Format: 001-123-456-7890" required><br>
<label for="email">Email Address</label>
<input type="email" id="email" name="email" placeholder="xxx@(gmail/hotmail/outlook).com" required><br>
<label for="pcode">Postal Code</label>
<input type="text" id="pcode" name="pcode" placeholder="AA11-c1V2"><br>
<button type="button" id="submit" onclick="validate()">Validate</button>
添加回答
舉報