假如要控制input只能输入特定语言
汉字:
if(!(/^[\u4e00-\u9fa5]+$/.test(str)))//是否有除汉字之外的
英文:
if(/^[a-zA-Z]/.test("abc请问")) //是否包含英文
数字:
//input只能键入数字
var pattern =new RegExp("[123456789]");
var s=$(#aaa).val();
var rs='';
for (var i=0;i<s.length;i++){
rs=rs+s.substr(i,1).replace(pattern,'');
}
$(#aaa).val(rs.replace(/\s+g,""));
藏语: [\u0f00-\u0fff]
总结:
1.想要控制特定Unicdoe段内的字符,只需模仿汉字的,\u加上目标在Unicdoe中的16位编码(不带0x)即可.
2.想要控制个别特殊字符,模仿英文的,会返回target是否存在目标.
3.想要控制html控件可输入内容,模仿数字的,写成一个onkeyup方法,自动去除不合格的输入.
实际情况一般是前两个一起用.if(/^[\u4e00-\u9fa5a-zA-Z,.;'-=]/.test("abc请问"))//报错就在特殊字符前加一个\,用来取消转义