py.js 919 B

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