nodejs 正则表达式不能是中文能判断是否中文吗

nodejs 正则表达式能判断是否中文吗? - CNode技术社区
这家伙很懒,什么个性签名都没有留下。
var str = ‘中国’;
var reg = /[\u4e00-\u9FA5]+/;
在网上找到一般使用的 中文unicode \u4e00-\u9FA5
var res = reg.test(str);
console.log(res); //应该输出 true
但是输出false
哪里有问题呢? 怎么判断是否中文呢?
如果是要判断中国这个字符串的话直接这样就可以了吧。
谢谢你的回复
我想判断的不是特定字符…
传进来的值不是固定的…所以… 想用 unicode 识别各国语言
Thank you ,
字符串得用双引号啊,
我用单引号了
es6有个u的标志符表示以unicode编码字符匹配,而不用再加unicode编码范围了
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的[转]js正则表达式之中文验证 - BlueAmbition - 博客园
/blog/1035321
今天做表单提交的输入框条件验证,验证是否包含中文;网上搜了一圈基于js正则表达式的验证基本不好用,而且大多都是出自一两篇原文的转帖!到底什么才是拿来主义呢。根据搜索结果,本文取精华,告诉大家一个好用的中文验证方法。
使用js正则表达式匹配中文,需要了解中文字符在unicode编码中所处的区间。这样才能够了解表达式的匹配原理。
首先在正则表达式中使用 Unicode,必须使用\u开头,接着是字符编码的四位16进制表现形式
简单匹配中文方法: /[^\u0000-\u00FF]/ (匹配非单字节字符 )
另错误方法:/[^\u00-\uFF]/ (匹配 非单字节字符、还包括一些全半角符号如,.(){}'"!等、还有vwxyz字符)
说明: //u0000-u00ff.包含unicode单字节编码( 0-255编码)包含基本控制字符和拉丁文字母。 采用该否定表达式,粗略判断是否含有中文。
具体的匹配中文及字符方法:/[\u4E00-\u9FA5\uF900-\uFA2D]/
说明: u4e00-u9fbf :
unicode CJK(中日韩)统一表意字符。u9fa5后至u9fbf为空
uF900-uFAFF :
CJK 兼容象形文字
。uFA2D后至uFAFF为空
具体可参考unicode编码表:/code/unicode/class/
//是否含有中文(也包含日文和韩文)
function isChineseChar(str){
var reg = /[\u4E00-\u9FA5\uF900-\uFA2D]/;
return reg.test(str);
//同理,是否含有全角符号的函数
function isFullwidthChar(str){
var reg = /[\uFF00-\uFFEF]/;
return reg.test(str);
阅读(...) 评论() &
Powered By:

我要回帖

更多关于 nodejs 正则表达式 的文章

 

随机推荐