您好,我试图让我的JS验证我的联系表格,并提供以下要求......
尝试使用XHTML1.0
答案 0 :(得分:0)
此代码有错误:
电子邮件未定义 在线:
var valid = email.match(/^[a-zA-Z0-9\.]+@([a-zA-Z0-9\.-]){1,}\.[a-z]{2,4}$/);
这个html代码不正确; p
<input id="text" type="email" />
我认为你的意思是:
<input id="email" type="text" />
答案 1 :(得分:0)
存在很多问题,调试的第一步是打开开发人员控制台(F12)并观察错误消息。
的变化:
var valid = email.match....
,并且永远不会使用返回值。<head>
中运行而不是onload,因为您需要内联事件处理程序,这些处理程序需要函数位于全局范围内才能访问。onload
函数中,因为它甚至在呈现DOM元素之前尝试访问它们。text1
更改为phone
。更新的代码:
function elem(id) {
return document.getElementById(id);
};
window.onload = function () {
document.querySelector("#RadioGroup1_0").click();
var form = document.getElementById('form');
form.onsubmit = function (e) {
var rules = [
['first-name', elem('first-name').value.length > 0],
['last-name', elem('last-name').value.length > 0],
['phone', elem('phone').value.length > 0 && /^(\+\d{1,2})?[\d ()-]+$/.test(elem('phone').value)]
];
function alpha(e) {
var k;
document.all ? k = e.keyCode : k = e.which;
return ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8);
}
for (var i = 0; i < rules.length; i++) {
if (!rules[i][1]) {
var parent = elem(rules[i][0]).parentNode,
message = 'Please check your ' + (parent.textContent || parent.innerText).replace(/^\s*(.*?)\s*$/, '$1').slice(0, -1).toLowerCase() + '.';
alert(message);
return false;
}
}
return true;
};
}
function onlyAlphabets(e, t) {
try {
if (window.event) {
var charCode = window.event.keyCode;
} else if (e) {
var charCode = e.which;
} else {
return true;
}
if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || (charCode === 8)) return true;
else return false;
} catch (err) {
alert(err.Description);
}
}
var specialKeys = new Array();
specialKeys.push(8); //Backspace
function IsNumeric(e) {
var keyCode = e.which ? e.which : e.keyCode
var ret = ((keyCode >= 48 && keyCode <= 57) || specialKeys.indexOf(keyCode) != -1);
//document.getElementById("phone").style.display = ret ? "none" : "inline";
return ret;
}
答案 2 :(得分:0)
<asp:TextBox ID="txtEmail" runat="server" onkeypress="return validateNumbers(event);"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ControlToValidate="txtEmail" Enabled="false" ForeColor="Red" ClientIDMode="Static" ErrorMessage="Input valid email address!">
And in javascript use like below
ValidatorEnable(document.getElementById(&#39; txtEmail&#39;),true);