我有一个Web应用程序,有一个输入用户可以在其中添加一些名称,但是我不希望用户输入撇号'
。当用户按下'符号html时,无需插入字符。我是html的新手,也有js代码文件。
<div class="col-md-4">
<input name="name" type="text" class="form-control" placeholder="Name">
</div>
答案 0 :(得分:2)
您可以将 value 中的字符替换为 empty 字符。我还将建议您为控件使用其他名称,因为 name 是JavaScript中的关键字:
document.querySelector('[name=txtName]').addEventListener('input',function(){
this.value = this.value.replace("'", '');
});
<div class="col-md-4">
<input name="txtName" type="text" class="form-control" placeholder="Name">
</div>
答案 1 :(得分:1)
尝试一下:
document.getElementById("input").onkeypress = function(e) {
/^[a-zA-Z0-9]+$/.test(this.value)
};
<input type="text" id="input">
更改正则表达式以匹配所需的字符,当前仅包括字母(小写和大写)和数字。
答案 2 :(得分:1)
var digitsOnly = /[1234567890]/g;
var floatOnly = /[0-9\.]/g;
var alphaOnly = /[A-Za-z]/g;
function restrictCharacters(myfield, e, restrictionType) {
if (!e) var e = window.event
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code);
// if they pressed esc... remove focus from field...
if (code==27) { this.blur(); return false; }
// ignore if they are press other keys
// strange because code: 39 is the down key AND ' key...
// and DEL also equals .
if (!e.ctrlKey && code!=9 && code!=8 && code!=36 && code!=37 && code!=38 && (code!=39 || (code==39 && character=="'")) && code!=40) {
if (character.match(restrictionType)) {
return true;
} else {
return false;
}
}
}