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
答案 0 :(得分:2)
嗯,有nodeType
属性可以告诉你它是文本节点还是HTML元素。至于获得unicode类别,我不相信有本机功能。你可以尝试这个插件,它将为正则表达式提供unicode支持:
答案 1 :(得分:2)
有一个支持Unicode类别的正则表达式插件: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