我已经为我的javascript代码设置了模式并设置了错误消息,但是似乎无法找出如何强制其将““ @”“。”“作为一种格式,因为它将接受单个出于某些原因有效的字母
function myFunction3() {
var message, x, j;
message = document.getElementById("message3");
message.innerHTML = "";
x = document.getElementById("Email").value;
try {
if (x == "") throw "Required Field";
if (x = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/) throw "Valid";
}
catch(err) {
message.innerHTML = err;
}
}
答案 0 :(得分:0)
您需要做的是设置有效的regex测试。看起来像这样:
function myFunction3() {
let message, x, j;
let RegExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; // Change this
message = document.getElementById("message3");
message.innerHTML = "";
x = document.getElementById("Email").value;
if (x === '') return 'Required Field';
else if (RegExp.test(x)) return 'Valid';
else return 'Value not valid';
}
我发现使用https://regexr.com/之类的正则表达式工具确实有助于获得正确的验证。由于您仅指定“出于某些原因接受单个字母为有效字母”,因此我不确定您需要使用哪种确切的表达方式,但是如果您愿意,我可以帮助您创建一个:)