в javascript, как я могу получить значение, указывающее общую категорию персонажа, как java Character.getType? - PullRequest
2 голосов
/ 11 августа 2011
input char:a      (unicode:97) output type:2
input char:Space  (unicode:32) output type:12

в Java, я могу использовать код: "int type = Character.getType (unicode)" Character.getType Api

Ответы [ 2 ]

2 голосов
/ 11 августа 2011

Существует плагин регулярных выражений, который поддерживает категории Юникод: http://xregexp.com/plugins/.

Используя это, вы можете создать функцию, которая проверяет каждую категорию, например:

var types = [
    'Ll', 'Lu', 'Lt', 'Lm', 'Lo', 'Mn', 'Mc', 'Me', 'Nd', 'Nl',
    'No', 'Pd', 'Ps', 'Pe', 'Pi', 'Pf', 'Pc', 'Po', 'Sm', 'Sc',
    'Sk', 'So', 'Zs', 'Zl', 'Zp', 'Cc', 'Cf', 'Co', 'Cs', 'Cn'
];

function getType(char) {
    var char = (char + "").charAt(0);
    for(var i = 0; i < types.length; i++) {
        if(XRegExp("\\p{" + types[i] + "}").test(char)) {
            return types[i];
        }
    }
}

alert(getType(" ")); // alerts Zs, because " " is a space separator character

http://jsfiddle.net/pimvdb/mYfCZ/1/

2 голосов
/ 11 августа 2011

Ну, есть свойство nodeType, которое скажет вам, например, текстовый узел или элемент HTML. Что касается получения категории Unicode, я не верю, что для этого есть встроенная функция. Вы можете попробовать этот плагин, который будет предлагать поддержку юникода для регулярных выражений:

http://xregexp.com/plugins/

http://www.javascriptkit.com/domref/nodetype.shtml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...