[伸手党]求个正则判断字符串是否日文

实在找好久找不到,求帮忙

阅读 6.7k
2 个回答
var chinese = "你好";
var japanese = "にほんご";
var japanese2 = "你好こんにちは你好";
var reg = /[\u0800-\u4e00]+/
console.log(reg.test(chinese));//false
console.log(reg.test(japanese));//true
console.log(japanese2.match(reg)[0]);//こんにちは

以前的gist收藏过

//
// UNICODE RANGE : DESCRIPTION
// 
// 3000-303F : punctuation
// 3040-309F : hiragana
// 30A0-30FF : katakana
// FF00-FFEF : Full-width roman + half-width katakana
// 4E00-9FAF : Common and uncommon kanji
// 
// Non-Japanese punctuation/formatting characters commonly used in Japanese text
// 2605-2606 : Stars
// 2190-2195 : Arrows
// u203B     : Weird asterisk thing

/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g

\u意思是unicode符号,-代表range

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题