changeCase.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. *
  3. * @desc 大小写转换
  4. * @param {String} str
  5. * @param {Number} type 1:首字母大写 2:首页母小写 3:大小写转换 4:全部大写 5:全部小写
  6. * @return {String}
  7. */
  8. function changeCase(str, type) {
  9. function ToggleCase(str) {
  10. var itemText = ""
  11. str.split("").forEach(
  12. function (item) {
  13. if (/^([a-z]+)/.test(item)) {
  14. itemText += item.toUpperCase();
  15. } else if (/^([A-Z]+)/.test(item)) {
  16. itemText += item.toLowerCase();
  17. } else {
  18. itemText += item;
  19. }
  20. });
  21. return itemText;
  22. }
  23. switch (type) {
  24. case 1:
  25. return str.replace(/\b\w+\b/g, function (word) {
  26. return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();
  27. });
  28. case 2:
  29. return str.replace(/\b\w+\b/g, function (word) {
  30. return word.substring(0, 1).toLowerCase() + word.substring(1).toUpperCase();
  31. });
  32. case 3:
  33. return ToggleCase(str);
  34. case 4:
  35. return str.toUpperCase();
  36. case 5:
  37. return str.toLowerCase();
  38. default:
  39. return str;
  40. }
  41. };
  42. module.exports = changeCase;