首页 > 代码库 > JS 控制文本框只能输入中文、英文、数字与指定特殊符号

JS 控制文本框只能输入中文、英文、数字与指定特殊符号

想做姓名输入的js判断是否是中文,但是网上找的很多是源于一篇文章的,判断中文的正则式不对,后来找到一个可以准确判断了,但是是监测里面有中文的就行,跟我想要的只能输入中文的意思相左,所以又找了下面的

 JS 控制文本框只能输入数字
input onkeyup="value=http://www.mamicode.com/value.replace(/[^0-9]/g,‘‘)"onpaste="value=http://www.mamicode.com/value.replace(/[^0-9]/g,‘‘)" oncontextmenu ="value=http://www.mamicode.com/value.replace(/[^0-9]/g,‘‘)"

JS 控制文本框只能输入数字、小数点
input onkeyup="value=http://www.mamicode.com/value.replace(/[^/0-9/.]/g,‘‘)"onpaste="value=http://www.mamicode.com/value.replace(/[^/0-9/.]/g,‘‘)" oncontextmenu ="value=http://www.mamicode.com/value.replace(/[^/0-9/.]/g,‘‘)">

JS 控制文本框只能输入英文
input onkeyup="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z]/g,‘‘)"onpaste="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z]/g,‘‘)" oncontextmenu ="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z]/g,‘‘)">

JS 控制文本框只能输入英文、数字
input onkeyup="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9]/g,‘‘)"onpaste="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9]/g,‘‘)" oncontextmenu= "value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9]/g,‘‘)">

JS 控制文本框只能输入中文
input onkeyup="value=http://www.mamicode.com/value.replace(/[^/u4E00-/u9FA5]/g,‘‘)"onpaste="value=http://www.mamicode.com/value.replace(/[^/u4E00-/u9FA5]/g,‘‘)" oncontextmenu= "value=http://www.mamicode.com/value.replace(/[^/u4E00-/u9FA5]/g,‘‘)">

JS 控制文本框只能输入中文、英文、数字
inputonkeyup="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5]/g,‘‘)"onpaste="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5]/g,‘‘)"oncontextmenu ="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5]/g,‘‘)">

JS 控制文本框只能输入中文、英文、数字、空格
input onkeyup="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5]/g,‘‘)"onpaste="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5]/g,‘‘)" oncontextmenu ="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5]/g,‘‘)">

JS 控制文本框只能输入中文、英文、数字、小数点
inputonkeyup="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5/.]/g,‘‘)"onpaste="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5/.]/g,‘‘)"oncontextmenu ="value=http://www.mamicode.com/value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5/.]/g,‘‘)">


总而言之:先在input标签里输入onkeyup="value=http://www.mamicode.com/value.replace(/[^/X]/g,‘‘)"然后在(/[\X]/g,‘‘)里的X换成你想输入的代码就可以了,中文u4E00-u9FA5,数字0-9,英文a-z\A-Z,其它符号@、点或其它符号。也可以多个,用\隔开就行了。
例如:中英文 + 数字 + @符号 + 点符号  \a-\z\A-\Z0-9\u4E00-\u9FA5\@\.

若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话
就要在input里输入 onpaste="return false" oncontextmenu="returnfalse;"

JS 控制文本框只能输入中文、英文、数字与指定特殊符号