ユーザー名を証明するためのテキストボックスがあります。しかし、特殊文字を入力しようとしたり、単語を貼り付けようとしたりするときは、特殊文字を制限したいと思います(特殊文字とともに)。どうすればjsでそれを行うことができますか。コードを書きましたが、入力中に特殊文字を制限できるのは私だけですが、そのテキストボックスに単語を貼り付けるとそれらの文字を制限できません。私のコードは次のようなものです:
<input type="text" name="bus_uname" id="bus_uname" class="reg-line-input"
value="<?php echo ($back_uname!='')?$back_uname:'Business Username';?>"
onblur="if(this.value=='') this.value='Business Username'"
onFocus="if(this.value=='Business Username') this.value='';"
onkeypress="return usernameonly(event, false)" />
そしてjsで
function usernameonly(e, decimal) {
var key;
var keychar;
if (window.event) {
key = window.event.keyCode;
}
else if (e) {
key = e.which;
}
else {
return true;
}
keychar = String.fromCharCode(key);
if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) {
return true;
}
else if ((("!@#$%^&*()_+-=?/.><,';:").indexOf(keychar) > -1)) {
return false;
}
//else
// return false;
}
この問題を解決する方法を教えてください。