ChineseHelper.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * 封装 中文转英文方法
  3. */
  4. // 引入字符编码(JSON)
  5. import PinYin from './ChineseHelperStr.js'
  6. // 定义方法
  7. const loadPinYinInit = {}
  8. // 获取所有编码
  9. loadPinYinInit.GetPinyinStr = function () {
  10. return PinYin;
  11. }
  12. // 汉字转拼音
  13. loadPinYinInit.ConvertPinyin = function (l1) {
  14. let l2 = l1.length;
  15. let I1 = "";
  16. let reg = new RegExp('[a-zA-Z0-9]');
  17. for (let i = 0; i < l2; i++) {
  18. let val = l1.substr(i, 1);
  19. let name = loadPinYinInit.arraySearch(val, PinYin);
  20. if (reg.test(val)) {
  21. I1 += val;
  22. } else if (name !== false) {
  23. I1 += name;
  24. }
  25. }
  26. I1 = I1.replace(/ /g, ' ');
  27. while (I1.indexOf('--') > 0) {
  28. I1 = I1.replace('--', '-');
  29. }
  30. return I1.substring(0,1).toLocaleLowerCase()+I1.substring(1,I1.length);
  31. }
  32. // 在对象中搜索
  33. loadPinYinInit.arraySearch = function (l1) {
  34. let needName = ''
  35. for (let name in PinYin) {
  36. if (PinYin[name].indexOf(l1) != -1) {
  37. needName = loadPinYinInit.ucfirst(name); break;
  38. }
  39. }
  40. return needName;
  41. }
  42. // 首字母大写
  43. loadPinYinInit.ucfirst = function(l1) {
  44. if (l1.length > 0) {
  45. let first = l1.substr(0, 1).toUpperCase();
  46. let spare = l1.substr(1, l1.length);
  47. return first + spare;
  48. }
  49. }
  50. export default loadPinYinInit