【发布时间】:2021-09-14 11:38:22
【问题描述】:
我想限制输入文本字段中的所有特殊字符,字符 / 除外。我该怎么做?
编辑:我希望我的文本字段是这样的input text
【问题讨论】:
标签: javascript html regex
我想限制输入文本字段中的所有特殊字符,字符 / 除外。我该怎么做?
编辑:我希望我的文本字段是这样的input text
【问题讨论】:
标签: javascript html regex
您的链接指向的 sn-p 是否像您在下面看到的那样。每当按下一个键时,当焦点输入字段被聚焦时,IsAlphanumeric() 函数就会被调用。如果函数返回true,则显示该字符。如果函数返回false,则按键被忽略。
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 >= 47 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
return ret;
}
<form>
<input type="text" id="text1" onkeypress="return IsAlphaNumeric(event);" ondrop="return false;" onpaste="return false;">
</form>
【讨论】:
/ 之外的所有特殊字符。这里的代码限制了所有特殊字符,包括/
这段代码成功了:
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));
//console.log(e.keyCode);
document.getElementById("error").style.display = ret ? "none" : "inline";
if(e.charCode==47){
ret=true;
document.getElementById("error").style.display ="none";
}
return ret;
}
【讨论】: