JS正则表达式,汉字表示!!!

JavaScript017

JS正则表达式,汉字表示!!!,第1张

中文字符匹配js正则表达式,普遍使用的正则是[\u4e00-\u9fa5],但这个范围并不完整。例如: /[\u4e00-\u9fa5]/.test( '⻏' ) // 测试部首⻏,返回false 。根据Unicode 5.0版编码,要准确的判断一个中文字符要包括: 范围含义范围 含义 2E80-2EFF CJK 部首补充2F00-2FDF 康熙字典部首 3000-303F CJK 符号和标点 31C0-31EF CJK 笔画 3200-32FF 封闭式 CJK 文字和月份 3300-33FF CJK 兼容 3400-4DBF CJK 统一表意符号扩展 A 4DC0-4DFF 易经六十四卦符号 4E00-9FBF CJK 统一表意符号 F900-FAFF CJK 兼容象形文字 FE30-FE4F CJK 兼容形式FF00-FFEF 全角ASCII、全角标点因此,正确的匹配中文字符正则表达式为: var rcjk = /[\u2E80-\u2EFF\u2F00-\u2FDF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FBF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF]+/g

/[\u4e00-\u9fa5]/ 正则只能匹配中文,记住是中文,匹配汉字是不正确

/\p{Unified_Ideograph}/u是正确的,不需要维护,匹配所有汉字。

移步下面链接:

JavaScript 正则表达式匹配汉字

如果要匹配所有(结尾加上g):

reg = /\p{Unified_Ideograph}/ug

eg:

str.replace(reg, 'aa')

varmyReg = /^[a-zA-Z0-9_]{0,}$/ if(!myReg.test(input.val())) {   $.validation.tip(false, input, "用户名不能含有中文或特殊字符")   return } js通过正则表达式限制input输入框只能输入英文字母和数字,不能输入中文。 <input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"> 文本框中仅允许输入英文字母,小数点,数字,禁止输入中文字符以及其他特殊字符! <input type="text" name="username" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" /> 输入大于0的正整数 <input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"> PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: http://tools.jb51.net/regex/javascript 正则表达式在线生成工具: http://tools.jb51.net/regex/create_reg var temp = 'abcdefg Fw:123456 Fw:789.1011' temp =temp.indexOf(‘.’)//匹配某个字符位置 alert(temp)��var temp = 'dsd-5555' temp =temp.replace('-','')//匹配某个字符必替换 alert(temp)