JavaScript 中怎样判断文本框只能输出英文字母、汉字和数字,不能输入特殊字符!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 中怎样判断文本框只能输出英文字母、汉字和数字,不能输入特殊字符!相关的知识,希望对你有一定的参考价值。

参考技术A JS-只能输入中文和英文
2008-11-08 10:17
在js中用正则表达式对象(RegExp)判断
中文
^[\u0391-\uFFE5]+$
英文
^[A-Za-z]+$
中文和英文
/^[\u0391-\uFFE5A-Za-z]+$/

js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码

1.文本框只能输入数字代码(小数点也不能输入)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
2.只能输入数字,能输小数点.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/\D/.test(this.value))alert('只能输入数字');this.value='';">
3.数字和小数点方法二
<input type=text tvalue="" ovalue="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.tvalue=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.ovalue=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.tvalue=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.ovalue=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;elseif(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.ovalue=this.value">
4.只能输入字母和汉字
<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">
5.只能输入英文字母和数字,不能输入中文
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
6.只能输入数字和英文<font color="Red">chun</font>
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">
7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
————————————————————————————————————————
只能输入汉字:
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
只能输入数字:
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">

只能输入英文和数字:
<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
控制输入框只能输入文字或数字,也可以不允许输入特殊字符
这里不允许输入如下字符: (像 !@#$%^&* 等)<br>
<textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;">
只禁止空格输入
onkeyup="value=value.replace(/\s/g,'')"
只能输入中文和英文:
onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,''))"

好好 看看吧!本回答被提问者采纳
参考技术B <html>
<head>
</head>
<body>
<input type="text" onkeyup="this.value=this.value.replace(/[^\w\u4e00-\u9fa5]+/g,'')">
</body>
</html>

用JS限制文本框只能输入数字,并给予提示,(纯JavaScript)

假如你要的效果是除数字之外不能输入,就用JS的onkeydown事件,判断键盘的keycode,keycode不属于数字范围则输入无效
假如你要的效果是输入完后提示报错,就用JS的onkeyup事件,把文本框的value匹配纯数字的正则,匹配不上则提示错误追问

keycode怎么写?

追答

if(!((event.keyCode>=48&&event.keyCode=96&&event.keyCode

参考技术A function check()
var value = document.getElementById("inputId").value;
var reg=/^[1-9]\d*$|^0$/; // 注意:故意限制了 0321 这种格式,如不需要,直接reg=/^\d+$/;
if(reg.test(value)==true)
alert("都是数字!通过");
return true;
else
alert("不是纯数字!失败!");
return false;



方法通过 onblur调用追问

这个不行,我不能用,可能是因为我用的是JSF的缘故吧

以上是关于JavaScript 中怎样判断文本框只能输出英文字母、汉字和数字,不能输入特殊字符!的主要内容,如果未能解决你的问题,请参考以下文章

js怎样判断文本框输入的全是回车,如果全是回车提示为空

js判断文本框只能输入中文和英文,如果不是就弹出对话框提示

VB文本框怎样限制只能输入数字值

js怎么控制文本框只能输入数字

js怎么控制文本框只能输入数字

怎么用js判断文本框中只能出现 逗号符号