js控制文本框禁止输入特殊字符

已有 46618人阅读此文 - - 脚本样式


在开发难免遇到一些前端需要验证输入的数据是否合法的问题,收集分享在这里同学们使用,欢迎补充。

1.标签上直接替换方法:


JS 控制不能输入特殊字符

<input type="text"class="domain"onkeyup="this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')";
this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')


 JS 控制文本框只能输入数字

<input onkeyup="value=value.replace(/[^0-9]/g,'')" onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu = "value=value.replace(/[^0-9]/g,'')">

JS 控制文本框只能输入数字、小数点

<input onkeyup="value=value.replace(/[^\0-9\.]/g,'')" onpaste="value=value.replace(/[^\0-9\.]/g,'')" oncontextmenu = "value=value.replace(/[^\0-9\.]/g,'')">


JS 控制文本框只能输入英文

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z]/g,'')">

JS 控制文本框只能输入英文、数字

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">



JS 控制文本框只能输入中文

<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onpaste="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" oncontextmenu = "value=value.replace(/[^\u4E00-\u9FA5]/g,'')">



JS 控制文本框只能输入中文、英文、数字

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')">

JS 控制文本框只能输入中文、英文、数字、空格

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')">

JS 控制文本框只能输入中文、英文、数字、小数点

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')">



2.输入之后立即清除:

//验证输入框内不能输入特殊字符,输入就立刻清除

 function cleanSpelChar(th){     
    if(/["'<>%;)(&+]/.test(th.value)){           
    $(th).val(th.value.replace(/["'<>%;)(&+]/,""));     
    } 
}

3.如果是特殊字符,禁止输入:

//验证输入框内不能输入特殊字符,输入前先作判断 

function processSpelChar(){     
var code;     var character;    
 if(document.all){         
    code = window.event.keyCode;     
}else{         
    code = arguments.callee.caller.arguments[0].which;    
 }     
var character = String.fromCharCode(code);     
var txt = new RegExp(/["'<>%;)(&+]/);    
 if(txt.test(character)){         
        if(document.all){             
        window.event.returnValue = false;       
      }else{            
         arguments.callee.caller.arguments[0].preventDefault();       
  }     
} 
}