CharHelper.ets 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import { i18n } from '@kit.LocalizationKit';
  2. export class CharHelper {
  3. private constructor() {
  4. }
  5. /**
  6. * 判断字符串char是否是数字
  7. * @param char
  8. * @returns
  9. */
  10. static isDigit(char: string): boolean {
  11. return i18n.Unicode.isDigit(char);
  12. }
  13. /**
  14. * 判断字符串char是否是字母
  15. * @param char
  16. * @returns
  17. */
  18. static isLetter(char: string): boolean {
  19. return i18n.Unicode.isLetter(char);
  20. }
  21. /**
  22. * 判断字符串char是否是小写字母
  23. * @param char
  24. * @returns
  25. */
  26. static isLowerCase(char: string): boolean {
  27. return i18n.Unicode.isLowerCase(char);
  28. }
  29. /**
  30. * 判断字符串char是否是大写字母
  31. * @param char
  32. * @returns
  33. */
  34. static isUpperCase(char: string): boolean {
  35. return i18n.Unicode.isUpperCase(char);
  36. }
  37. /**
  38. * 判断字符串char是否是空格符
  39. * @param char
  40. * @returns
  41. */
  42. static isSpaceChar(char: string): boolean {
  43. return i18n.Unicode.isSpaceChar(char);
  44. }
  45. /**
  46. * 判断字符串char是否是空白符
  47. * @param char
  48. * @returns
  49. */
  50. static isWhitespace(char: string): boolean {
  51. return i18n.Unicode.isWhitespace(char);
  52. }
  53. /**
  54. * 判断字符串char是否是从右到左语言的字符
  55. * @param char
  56. * @returns
  57. */
  58. static isRTL(char: string): boolean {
  59. return i18n.Unicode.isRTL(char);
  60. }
  61. /**
  62. * 判断字符串char是否是表意文字
  63. * @param char
  64. * @returns
  65. */
  66. static isIdeograph(char: string): boolean {
  67. return i18n.Unicode.isIdeograph(char);
  68. }
  69. /**
  70. * 判断是否空白符 空白符包括空格、制表符、全角空格和不间断空格
  71. * @param c
  72. * @returns
  73. */
  74. static isBlankChar(c: number): boolean {
  75. return CharHelper.isWhitespace(c.toString())
  76. || CharHelper.isSpaceChar(c.toString())
  77. || c == 0xFEFF || c == 0x202A || c == 0x0000;
  78. }
  79. /**
  80. * 判断字符是否位于ASCII范围内(其中0-31是控制字符,32-127表示从A到Z的字母字符)
  81. * @param char 字符
  82. * @returns
  83. */
  84. static isAscii(char: string): boolean {
  85. if (char.length == 1) { //确保输入的是单个字符
  86. return char.charCodeAt(0) < 128;
  87. } else {
  88. return false;
  89. }
  90. }
  91. }