uni-pinyin.js 777 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import {pinyin} from "./pinyin.js";
  2. function chineseToPinYin(l1) {
  3. var l2 = l1.length;
  4. var I1 = '';
  5. var reg = new RegExp('[a-zA-Z0-9]');
  6. for (var i = 0; i < l2; i++) {
  7. var val = l1.substr(i, 1);
  8. var name = arraySearch(val, pinyin);
  9. if (reg.test(val)) {
  10. I1 += val;
  11. } else if (name !== false) {
  12. I1 += name;
  13. }
  14. }
  15. I1 = I1.replace(/ /g, '-');
  16. while (I1.indexOf('--') > 0) {
  17. I1 = I1.replace('--', '-');
  18. }
  19. return I1;
  20. };
  21. function arraySearch(l1, l2) {
  22. for (var name in pinyin) {
  23. if (pinyin[name].indexOf(l1) !== -1) {
  24. return ucfirst(name);
  25. }
  26. }
  27. return false;
  28. }
  29. function ucfirst(l1) {
  30. if (l1.length > 0) {
  31. var first = l1.substr(0, 1).toUpperCase();
  32. var spare = l1.substr(1, l1.length);
  33. return first + spare;
  34. }
  35. }
  36. export default chineseToPinYin