Я использую этот скрипт, чтобы ограничить все специальные символы, но я хочу разрешить только клавишу Backspace (8) и пробел (32).
var specialKeys = new Array();
//specialKeys.push(8); //Backspace
specialKeys.push(9); //Tab
specialKeys.push(46); //Delete
specialKeys.push(36); //Home
specialKeys.push(35); //End
specialKeys.push(37); //Left
specialKeys.push(39); //Right
function IsAlphaNumeric(e) {
var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
document.getElementById("error").style.display = ret ? "none" : "inline";
return ret;
}
<input name = "pname" list = "pnames" id = "pname" type = "text" class = "form-control" autocomplete = "off" onkeypress = "return IsAlphaNumeric(event);" ondrop = "return false;" onpaste = "return false;" required/>
<span id = "error" style = "color: Red; display: none">* Special characters are not allowed.</span>
Помогите пожалуйста как мне это сделать.. заранее спасибо
function IsAlphaNumeric(e) {
var k;
document.all ? k = e.keyCode : k = e.which;
var ret = ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57));
document.getElementById("error").style.display = ret ? "none" : "inline";
return ret;
}
<input name = "pname" list = "pnames" id = "pname" type = "text" class = "form-control" autocomplete = "off" onkeypress = "return IsAlphaNumeric(event);" ondrop = "return false;" onpaste = "return false;" required/>
<span id = "error" style = "color: Red; display: none">* Special characters are not allowed.</span>