admin管理员组

文章数量:1244304

How do I check if a variable contains Chinese or Japanese characters? I know that this line works:

if (document.body.innerText.match(/[\u3400-\u9FBF]/))

I need to do the same thing not for the document but for a single variable.

How do I check if a variable contains Chinese or Japanese characters? I know that this line works:

if (document.body.innerText.match(/[\u3400-\u9FBF]/))

I need to do the same thing not for the document but for a single variable.

Share Improve this question edited Jun 26, 2012 at 11:35 user229044 239k41 gold badges344 silver badges346 bronze badges asked Jun 26, 2012 at 11:34 waivywaivy 1371 gold badge2 silver badges8 bronze badges 3
  • 4 if (variable.match(/[\u3400-\u9FBF]/)) ? – Esailija Commented Jun 26, 2012 at 11:35
  • You can apply .match to any string variable, not just document.body.innerText. – user229044 Commented Jun 26, 2012 at 11:35
  • Thank you. What I'm trying to do is to have the user select a portion of text from the document and assign it to my variable and after this check if the variable contains any Chinese character. I'm using var sel = window.getSelection() and then if (sel.match(/[\u3400-\u9FBF]/)) but it won't work. Strange thing is that if e.g I manually set sel = 漢字 it works fine but if I try to get it with window.getSelection() it won't – waivy Commented Jun 26, 2012 at 12:15
Add a ment  | 

2 Answers 2

Reset to default 8

.match is a string method. You can apply it to anything that contains string. And, of course, to arbitrary variable.

In case you have something that is not string, most objects define .toString() method that converts its content to some reasonable stringified form. When you retrieve selection from page, you get selection object. Convert it to string and then use match on it: sel.toString().match(...).

afaik you can to the same with a variable... document.body.innerText just returns the text of the body. Therefore you can just do

myvar.match(...)

Here's an example: http://snipplr./view/15357/

本文标签: javascriptHow can I check if variable contains ChineseJapanese charactersStack Overflow