NSString+RQExtension.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. //
  2. // NSString+RQExtension.h
  3. // RQCommon
  4. //
  5. // Created by 张嵘 on 2018/11/21.
  6. // Copyright © 2018 张嵘. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @interface NSString (RQExtension)
  10. #pragma mark - 文本高度计算
  11. /**
  12. 动态计算文字的宽高(单行)
  13. @param font 文字的字体
  14. @return 计算的宽高
  15. */
  16. - (CGSize)rq_sizeWithFont:(UIFont *)font;
  17. /**
  18. 动态计算文字的宽高(多行)
  19. @param font 文字的字体
  20. @param limitSize 限制的范围
  21. @return 计算的宽高
  22. */
  23. - (CGSize)rq_sizeWithFont:(UIFont *)font limitSize:(CGSize)limitSize;
  24. /**
  25. 动态计算文字的宽高(多行)
  26. @param font 文字的字体
  27. @param limitWidth 限制宽度 ,高度不限制
  28. @return 计算的宽高
  29. */
  30. - (CGSize)rq_sizeWithFont:(UIFont *)font limitWidth:(CGFloat)limitWidth;
  31. #pragma mark - 文本内容处理
  32. /**
  33. 消除收尾空格
  34. @return 消除收尾空格的String
  35. */
  36. - (NSString *)rq_removeBothEndsWhitespace;
  37. /**
  38. 消除收尾空格+换行符
  39. @return 消除收尾空格+换行符的String
  40. */
  41. - (NSString *)rq_removeBothEndsWhitespaceAndNewline;
  42. /**
  43. 消除收尾空格
  44. @return 消除收尾空格的String
  45. */
  46. - (NSString *)rq_trimWhitespace;
  47. /**
  48. 编码
  49. @return 编码的String
  50. */
  51. - (NSString *)rq_URLEncoding;
  52. /**
  53. 解码
  54. @return 解码的String
  55. */
  56. - (NSString *)rq_URLDecoding;
  57. /**
  58. 消除所有空格
  59. @return 消除所有空格的String
  60. */
  61. - (NSString *)rq_trimAllWhitespace;
  62. #pragma mark - 文本内容判断
  63. /**
  64. 检测字符串是否包含中文
  65. @param string 需判断的文本
  66. @return 判断结果
  67. */
  68. + (BOOL)rq_isContainChinese:(NSString *)string;
  69. /**
  70. 整形
  71. @param string 需判断的文本
  72. @return 判断结果
  73. */
  74. + (BOOL)rq_isPureInt:(NSString *)string;
  75. /**
  76. 浮点型
  77. @param string 需判断的文本
  78. @return 判断结果
  79. */
  80. + (BOOL)rq_isPureFloat:(NSString *)string;
  81. /**
  82. 有效的手机号码
  83. @param string 需判断的文本
  84. @return 判断结果
  85. */
  86. + (BOOL)rq_isValidMobile:(NSString *)string;
  87. /**
  88. 纯数字
  89. @param string 需判断的文本
  90. @return 判断结果
  91. */
  92. + (BOOL)rq_isPureDigitCharacters:(NSString *)string;
  93. /**
  94. 字符串为字母或者数字
  95. @param string 需判断的文本
  96. @return 判断结果
  97. */
  98. + (BOOL)rq_isValidCharacterOrNumber:(NSString *)string;
  99. /**
  100. 判断字符串全是空格or空
  101. @param string 需判断的文本
  102. @return 判断结果
  103. */
  104. + (BOOL)rq_isEmpty:(NSString *)string;
  105. /**
  106. 是否是正确的邮箱
  107. @param string 需判断的文本
  108. @return 判断结果
  109. */
  110. + (BOOL)rq_isValidEmail:(NSString *)string;
  111. /**
  112. 是否是正确的QQ
  113. @param string 需判断的文本
  114. @return 判断结果
  115. */
  116. + (BOOL)rq_isValidQQ:(NSString *)string;
  117. + (BOOL)rq_isValidURL:(NSString *)url;
  118. #pragma mark - Other
  119. /**@"<ns:return>" @"</ns:return>"之间的结果
  120. */
  121. -(NSString* )getXlmRet;
  122. -(NSString*)getCode;
  123. /**返回一个json字典
  124. */
  125. -(id)jsonObject;
  126. - (NSString *)md5Encrypt;
  127. -(NSString *)toHighterWithLower:(NSString *)str;
  128. /**固定宽度,和字体大小。返回label高度
  129. */
  130. -(CGFloat)heightForWid:(CGFloat)wid Font:(CGFloat)fontSize;
  131. -(CGSize)sizeForFont:(CGFloat)fontSize;
  132. -(NSString*)base64;
  133. /// 传入 秒 得到 xx:xx:xx
  134. /// @param totalTime 秒数
  135. + (NSString *)getMMSSFromSS:(NSString *)totalTime;
  136. - (NSString *)getPinYin;
  137. @end