禁用特殊字符(引号)PHP

问题描述 投票:0回答:1

我有以下代码禁止将特殊字符插入以HTML格式提交的文本中。

可以看出,我需要禁用的特殊字符在引号之间,而我需要禁用引号"本身,但我不能这样做,因为如果在中间添加另一个引号,则它的意思是第一个引号的结尾。

如何禁用引号以及要输入的特殊字符?

function disableSpecialChars() 
{ 
    var spclChars = ",!@#$%^&*()/"; // specify special characters 
    var content = document.getElementById("permanentaddress").value; 
    for (var i = 0; i < content.length; i++) 
    { 
        if (spclChars.indexOf(content.charAt(i)) != -1) 
        { 
            alert ("Special characters(,!@#$%^&*()) are not allowed."); 
            document.getElementById("permanentaddress").value = ""; 
            return false; 
        } 
    } 
}
php html
1个回答
0
投票

您需要在引号(“)之前使用一个反斜杠:

 function disableSpecialChars()
{
    var spclChars = ",!@#$%^&*()/\""; // specify special characters 
    var content = document.getElementById("permanentaddress").value;
    for (var i = 0; i < content.length; i++)
    {
        if (spclChars.indexOf(content.charAt(i)) != -1)
        {
            alert ("Special characters(,!@#$%^&*()) are not allowed.");
            document.getElementById("permanentaddress").value = "";
            return false;
        }
    }
}

或者您可以对所有特殊字符使用ASCII代码:

function disableSpecialChars(e) {
    var k;
    document.all ? k = e.keyCode : k = e.which;
    return ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57));
}
© www.soinside.com 2019 - 2024. All rights reserved.