NSString+Category.h 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. //
  2. // NSString+Category.h
  3. // SharedParking
  4. //
  5. // Created by gui_huan on 2018/4/16.
  6. // Copyright © 2018年 gui_huan. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @interface NSString (Category)
  10. ///文字尺寸
  11. - (CGSize)stringSizeWithFont:(UIFont *)font Size:(CGSize)size;
  12. /// 移除首尾空格和换行
  13. - (NSString *)qhw_stringByTrimingWhitespace;
  14. /// 根据字符串获取手机运营商.
  15. - (NSString *)qhw_carrier;
  16. /// 是否是有效的手机号码
  17. - (BOOL)qhw_validPhoneNumber;
  18. /// 是否是有效的密码
  19. - (BOOL)qhw_validPassword;
  20. /// 是否全部是数字
  21. - (BOOL)qhw_validDigits;
  22. /// 是否是金额. 整数位最多十位,小数为最多为两位,可以无小数位.
  23. - (BOOL)qhw_validAmount;
  24. /// 日历中的数字 得到星期
  25. + (NSString *)weekdayOfCalendarIndex:(NSInteger)index;
  26. /// 字符串是否纯数字
  27. - (BOOL)isPuloIntNumberString;
  28. /// 判断是否有效身份证
  29. + (BOOL)Chk18PaperId:(NSString *)cardNumber;
  30. /// 从指定格式,时间戳获取时间
  31. + (NSString *)defaultTimeFromFormatter:(NSString *)fomatter timeString:(NSString *)string;
  32. /// 从指定格式,时间戳获取时间
  33. + (NSString *)timeFromFormatter:(NSString *)fomatter timeString:(NSString *)string;
  34. ///获取当前年月
  35. +(NSString*)getCurrentYearMonthWithFormatter:(NSString *)dateFormat;
  36. +(NSString*)getCurrentYearMonth;
  37. /// 昨日日期
  38. + (NSString *)lastDayWithFormatter:(NSString *)formatter;
  39. /// 与当前时间差值
  40. /// - Parameters:
  41. /// - dateFormat: 格式
  42. /// - timeDiff: 时间差
  43. +(NSString*)getCurrentDayWithFormatter:(NSString *)dateFormat timeDiff:(CGFloat)timeDiff;
  44. //金钱转换成千分号格式
  45. - (NSString *)changeMoneyFormat:(NSNumberFormatterStyle)style;
  46. /// 是否有emoji表情
  47. + (BOOL)stringContainsEmoji:(NSString *)string;
  48. /// 过滤<null>, (null)字符
  49. - (NSString *)filterNullStringWithString:(NSString *)replaceString;
  50. /// 限定中英文
  51. - (BOOL)isChineseOrEnglish;
  52. /// 限数字和字母
  53. - (BOOL)isNumberOrEnglish;
  54. /// 中文 英文 空格 -
  55. - (BOOL)isChineseOrEnglishWhiteAndDash;
  56. /// 给借记卡,信用卡四位加一空格
  57. - (NSString *)insertSpacePreFourCharacter;
  58. /// 身份证加空格
  59. - (NSString *)ID18DigitCardInsertSpace;
  60. /// 银行卡中间数字替换成*
  61. - (NSString *)bankCardNoExchangeWithStar;
  62. /// 去除字符串中间的空格
  63. - (NSString *)stringRemoveSpace;
  64. /// 限制textfield的输入长度
  65. + (BOOL)canChangeTextField:(UITextField *)textfield withString:(NSString *)string length:(NSInteger)length;
  66. /// 是否合格的登陆密码
  67. - (BOOL)isValidLoginPassword;
  68. /// textfield输入银行卡自动空格 并限制长度
  69. + (NSString *)textFieldBankInsertSpaceOriginal:(NSString *)original range:(NSRange)range string:(NSString *)string length:(NSInteger)length;
  70. + (NSString *)textFieldIDCardInsertSpaceOriginal:(NSString *)original range:(NSRange)range string:(NSString *)string length:(NSInteger)length;
  71. /// 手机号加 *
  72. + (NSString *)concealPhoneNumber:(NSString *)number;
  73. /// 加密字符串
  74. //+ (NSString *)cryptographicStringFromString:(NSString *)sourceString;
  75. - (NSDictionary *)JSONFromString;
  76. ///计算文字宽高
  77. +(CGSize) boundingALLRectWithSize:(NSString*) txt Font:(UIFont*) font Size:(CGSize) size;
  78. /**
  79. 字符串中某个字符的自定义颜色
  80. @param totalString 完整字符串
  81. @param totalColor 完整字符串颜色
  82. @param specialString 所需更改的字符
  83. @param SpecialColor 所需更改的字符颜色
  84. @param fontSize 所需更改的字符大小
  85. @return <#return value description#>
  86. */
  87. + (NSAttributedString *)getShowAttributedStringWithTotalString:(NSString *)totalString totalColor:(UIColor *)totalColor specialString:(NSString *)specialString specialColor:(UIColor *)SpecialColor specialfontOfSize:(CGFloat)fontSize;
  88. ///同下
  89. + (NSAttributedString *)getShowAttributedStringWithNormalString:(NSString *)normalString normalColor:(UIColor *)normalColor specialString:(NSString *)specialString specialColor:(UIColor *)SpecialColor specialfontOfSize:(CGFloat)fontSize;
  90. /**
  91. ///两种不同形式的String组合
  92. @param normalString 普通状态String
  93. @param specialString 另一种显示
  94. @param color <#color description#>
  95. @param fontSize <#fontSize description#>
  96. @return <#return value description#>
  97. */
  98. + (NSAttributedString *)getShowAttributedStringWithNormalString:(NSString *)normalString specialString:(NSString *)specialString specialColor:(UIColor *)color specialfontOfSize:(CGFloat)fontSize;
  99. ///
  100. + (NSAttributedString *)getShowAttributedStringWithNormalString:(NSString *)normalString normalColor:(UIColor *)normalColor specialString:(NSString *)specialString specialColor:(UIColor *)SpecialColor specialFont:(UIFont *)font;
  101. /*!
  102. @method
  103. @describe 计算获取文本的大小
  104. */
  105. + (CGSize)calculationTextNeedSizeWithText:(NSString *)text
  106. font:(CGFloat)font
  107. width:(CGFloat)width;
  108. /**
  109. 文本间距
  110. @param str 文本
  111. @param space 间距
  112. @return <#return value description#>
  113. */
  114. + (NSMutableAttributedString *)getOrderDetailString:(NSAttributedString *)str lineSpace:(CGFloat)space;
  115. /**
  116. <#Description#>
  117. @param size 依附视图的大小
  118. @param text 文本
  119. @param font 文本大小
  120. @return 文本居于视图中心时的起始位置
  121. */
  122. + (CGPoint)calculationPointWithSize:(CGSize)size
  123. text:(NSString *)text
  124. font:(CGFloat)font;
  125. /**
  126. 调用一个get方法,也不算添加属性,仅方便书写
  127. 金钱单位转换
  128. */
  129. @property (nonatomic, copy)NSString *moneyConversion;
  130. //stringToDictionary
  131. + (NSDictionary *)stringToDictionary:(NSString *)str;
  132. /**
  133. //把没有双引号和用了单引号的json字符串转化为标准格式字符串;
  134. @param json <#json description#>
  135. @return <#return value description#>
  136. */
  137. + (NSString *)changeJsonStringToTrueJsonString:(NSString *)json;
  138. /**
  139. <#Description#>
  140. @param aString 获取汉字转成拼音字符串 通讯录模糊搜索 支持拼音检索 首字母 全拼 汉字 搜索
  141. @return <#return value description#>
  142. */
  143. + (NSString *)transformToPinyin:(NSString *)aString;
  144. /**
  145. 获取Cookie缓存
  146. @return <#return value description#>
  147. */
  148. + (NSMutableString*)getCookieValue;
  149. + (NSString *)replaceHasPrefix:(NSString *)fixStr str:(NSString *)str;
  150. + (NSString *)getRandStringWithLength:(int)length;
  151. + (NSString*)deviceModel;
  152. @end