尝试验证我的表单并为无效字符设置变量,但我无法识别它们,因为它们只是一堆符号? -
function validation(){
var Name =
document.getElementById("name").value;
var Email = document.getElementByID("email").value;
var invalidSymbol = /[\~\`\!\#\$\%\^\&\*\(\)\-\+\{\}\:\\\;\"\'\<\>\?\,\]/;
if Name == ""{
alert("Please enter your name");
document.getElementById("Name").focus();
return false;
}else if (Email == "" | | Email.indexOf("@")<1 || Email.lastIndexOf("@")+2 || Email.lastIndexOf(".")+2>=Email.indexOf("@").length || Email.match(invalidSymbol)){
alert ("Please enter a valid e-mail address");
document.getElementById("email").focus();
return false;
}else{
return true;
}
}
答案 0 :(得分:1)
var desired = stringToReplace.replace(/[^\w\s]/gi, '')
正如评论中所提到的,作为白名单更容易做到这一点 - 替换不在您的安全列表中的字符。
插入符号(^)是集合[...]的否定,gi说 全局和不区分大小写(后者有点多余,但我 我想提一下)这个例子中的安全列表是数字,单词 字符,下划线(\ w)和空格(\ s)。
如上所述: javascript regexp remove all special characters 通过 annakata