UNPKG

@iimm/shared

Version:

shared utils on browser and react env

42 lines (37 loc) 1.72 kB
/** 字符串是否全为中文字符 */ export var isAllChineseWord = function isAllChineseWord(str) { return /^[\u4e00-\u9fa5]+$/.test(str); }; /** 检查字符串中是否包含中文字符 */ export var hasChineseWord = function hasChineseWord(str) { return /[\u4e00-\u9fa5]+/.test(str); }; /** 将字符值转换为所有单词(首个单词或空格后面的单词)为首字母大写 */ export var capitalize = function capitalize() { var word = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return word.replace(/( |^)[a-z]/, function (c) { return c.toUpperCase(); }); }; /** 将字符串转换为大驼峰样式(首字母大写) */ export var pascalCase = function pascalCase() { var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return str.split(/[_-]/).map(capitalize).join(''); }; /** 将字符串转换为驼峰样式(首字母样式不变) */ export var camelCase = function camelCase() { var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return str.replace(/[_-](\w)/g, function (all, letter) { return letter.toUpperCase(); }); }; /** 将驼峰或大驼峰转化为使用分隔符(默认是下划线)间隔的变量(首字母小写) */ export var separatorCase = function separatorCase() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '_'; var str = name || ''; if (str.length && str.slice(0, 1) === str.slice(0, 1).toUpperCase()) { str = str.slice(0, 1).toLowerCase() + str.slice(1); } return str.replace(/([A-Z])/g, "".concat(separator, "$1")); };