文本框用js实现只能输入中文,只能输入数字,等,就是输入的时候直接看不到不可输入的字符,而不是keyup的时候判断,然后在用空替换,我是指在keypress的时候判断,用keycode试了下,做不到
function onlychinese(){
if ((window.event.keyCode >=32) && (window.event.keyCode <= 126))
{
window.event.keyCode = 0 ;
}
}
function onlyDigital(){
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))) )
{
window.event.keyCode = 0 ;
}
}
function onlychinese(){
if ((window.event.keyCode >=32) && (window.event.keyCode <= 126))
{
window.event.keyCode = 0 ;
}
}
function onlyDigital(){
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))) )
{
window.event.keyCode = 0 ;
}
}
以下是只能输入字母和数字的验证:
function checkIntLetter(obj) {
obj.value = obj.value.replace(/[^A-Za-z\d]/g, "");
}
$("#itext").keypress(function(eve){
if(eve.which >=58 && eve.which <=126){
return false;
}
return true;
});
基本的原理就是给input监听keypress事件,然后如果不符合要求的值就让方法返回false。不熟悉jquery你也可以利用这个原理写原始的js代码。
这样还是不能完全解决,因为你可以不通过键盘输入,而是通过纯鼠标copy的方式输入东西。一般弄到这一步就可以了,否则你需要禁用右键菜单