我试图进行简单的输入字段验证来限制一些特殊字符,我得到了以下解决方案。
但我无法理解这个三元运算符中发生了什么
var str = String.fromCharCode(e.charCode ? e.which : e.charCode);
谁能解释一下吗?请..
$(document).ready(function(){
$('#textarea').keypress(function (e) {
var regex = new RegExp("^[a-zA-Z0-9 ,.!?]+$");
var str = String.fromCharCode(e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
else {
alert("enter only valid string(123 abc , . ! ?)");
e.preventDefault();
return false;
}
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="col-xs-12">Reason<span class="requiredField">*</span></label> <textarea id="textarea" rows="2"></textarea>
最佳答案
String.fromCharCode
将 Unicode 数字转换为字符。
var regex = new RegExp("^[a-zA-Z0-9 ,.!?]+$");
它是一个正则表达式,用于检查输入的键是否来自字母或数字或句号或逗号或 !。
String.fromCharCode(e.charCode ? e.which : e.charCode);
这将返回按下的键的键代码或字符代码。
例如:var res = String.fromCharCode(65);
return A
if (regex.test(str)) {
检查按下的键是否被接受。
关于jquery - 用于输入字段验证的按键方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43445630/