hangul-util
Version:
Korean Hangul Utils
55 lines (54 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getLocal = getLocal;
exports.getLocalByGroups = getLocalByGroups;
var _utils = require("./utils");
var LANGUAGE_REGEXP = {
ko: /^[가-힣|ㄱ-ㅎ|ㅏ-ㅣ|\s]+$/,
en: /^[a-zA-Z|\s]+$/,
number: /^[0-9]+$/,
special: /^[\`\~\!\@\#\$\%\^\&\*\(\)\_\+\-\=\\\|\{\}\[\]\;\:\'\"\<\,\.\>\/\?\s]+$/,
etc: /.*/
};
function getLocal() {
var word = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
if (LANGUAGE_REGEXP["special"].test(word)) {
return "special";
}
if (LANGUAGE_REGEXP["ko"].test(word)) {
return "ko";
}
if (LANGUAGE_REGEXP["en"].test(word)) {
return "en";
}
if (LANGUAGE_REGEXP["number"].test(word)) {
return "number";
}
return "etc";
}
function getLocalByGroups() {
var word = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
var isPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var countObject = {
ko: 0,
en: 0,
number: 0,
special: 0,
etc: 0
};
var result = [];
for (var index = 0; index < word.length; index++) {
var language = getLocal(word[index]);
if (isPercent) {
countObject[language]++;
} else {
result.push(language);
}
}
if (isPercent) {
return (0, _utils.makePercentByObject)(countObject);
}
return result;
}