JS表单验证,无效字符?

时间:2016-12-09 03:00:14

标签: javascript validation

尝试验证我的表单并为无效字符设置变量,但我无法识别它们,因为它们只是一堆符号? -

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;
        }
}

1 个答案:

答案 0 :(得分:1)

var desired = stringToReplace.replace(/[^\w\s]/gi, '')
     

正如评论中所提到的,作为白名单更容易做到这一点    - 替换不在您的安全列表中的字符。

     

插入符号(^)是集合[...]的否定,gi说   全局和不区分大小写(后者有点多余,但我   我想提一下)这个例子中的安全列表是数字,单词   字符,下划线(\ w)和空格(\ s)。

如上所述: javascript regexp remove all special characters 通过 annakata