NSString+Extension.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. //
  2. // NSString+Extension.h
  3. //
  4. //
  5. #import <Foundation/Foundation.h>
  6. typedef NS_ENUM(NSInteger, INPUTTEXT_TYPE) {
  7. INPUTTEXT_TYPE_PHONE = 1, // 手机号
  8. INPUTTEXT_TYPE_VERIFICATIONCODE = 2, // 验证码
  9. INPUTTEXT_TYPE_PASSWORD = 3, // 密码
  10. INPUTTEXT_TYPE_PAYCODE = 4, // pp密码
  11. INPUTTEXT_TYPE_IDCARD = 5, // 身份证号
  12. INPUTTEXT_TYPE_MONEY = 6, // 金额
  13. };
  14. typedef NS_ENUM(NSInteger,CHECKTYPE){
  15. CHECKTYPE_NULL = 1, // 空
  16. CHECKTYPE_FAILED = 2, // 校验失败
  17. CHECKTYPE_RIGHT = 3, // 校验成功
  18. };
  19. @interface NSString (Extension)
  20. - (CGSize)sizeWithFont:(UIFont *)font maxW:(CGFloat)maxW;
  21. - (CGSize)sizeWithFont:(UIFont *)font lineSpace:(CGFloat)height maxW:(CGFloat)maxW;
  22. - (CGSize)sizeWithFont:(UIFont *)font;
  23. + (NSString *)returnNoNullStringWithString:(NSString *)string;
  24. + (BOOL)isEmptyString:(NSString *)str;
  25. - (NSString *)replaceAll:(NSString *)aStr WithString:(NSString *)bStr;
  26. + (NSString*)deviceVersion;//获取手机型号
  27. + (NSString*)dictionaryToJson:(NSDictionary *)dic;
  28. - (NSString *)dateFormatString; // 返回年月日 传入格式 YYYY-MM-dd hh:mm:ss
  29. // url encoding
  30. - (NSString *)getUrlEndcodeString;
  31. // 移除endcodeing
  32. - (NSString *)removeUrlEndcodeString;
  33. // 获取保存文件名
  34. - (NSString *)getUrlFileName;
  35. /**
  36. 获取字符串首字母(传入汉字字符串,返回大写拼音首字母)
  37. @param aString 传入字符串
  38. @return 返回
  39. */
  40. + (NSString *)getFirstLetterFromString:(NSString *)aString;
  41. /// 是否能返回大写拼音首字母
  42. /// @param aString 传入字符串
  43. + (BOOL)canLetterFormat:(NSString *)aString;
  44. /// 是否汉字
  45. - (BOOL)isHanz;
  46. /**
  47. 检测是否包含emoji表情
  48. @param string 字符串
  49. @return 返回值
  50. */
  51. + (BOOL)isContainsTwoEmoji:(NSString *)string;
  52. + (NSString *)stringReplaceFromString:(NSString *)string;
  53. @end
  54. /**
  55. 时间转换
  56. */
  57. @interface NSString (DateTransform)
  58. - (NSString *)getWeekDay;
  59. /**
  60. * 获取当前时间字符串
  61. *
  62. * @return 当前时间字符串
  63. */
  64. + (NSString *)getCurrentTime;
  65. /**
  66. *
  67. *
  68. * @return 倒计时时间
  69. */
  70. + (NSString *)getCountDownWithTime:(NSInteger)second;
  71. @end
  72. @interface NSString (CheckString)
  73. /**
  74. *
  75. * 金额校验 最多2位小数
  76. */
  77. + (BOOL)validateMoney:(NSString *)money;
  78. /**
  79. 输入字段校验
  80. @param type 字段类型
  81. @return 校验是否成功
  82. */
  83. - (CHECKTYPE)checkInputTextWithType:(INPUTTEXT_TYPE)type;
  84. // unicode转码
  85. + (NSString*)replaceUnicode:(NSString*)aUnicodeString;
  86. +(NSString *)utf8ToUnicode:(NSString *)string;
  87. // 小数点格式化:如果有两位小数不为0则保留两位小数,如果有一位小数不为0则保留一位小数,否则显示整数
  88. + (NSString *)formatDoubleNum:(double)value;
  89. // 小数点格式化:最多保留一位小数
  90. + (NSString *)formatDoubleNumToADecimal:(double)value;
  91. // 94,862.57
  92. + (NSString *)formatMoneyDoubleNum:(double)value;
  93. @end
  94. @interface NSString (QRCode)
  95. - (UIImage *)generateQRImage;
  96. @end
  97. @interface NSString (KSBase64Encode)
  98. - (NSString *)ks_base64EncodedString;
  99. + (NSString *)ks_stringWithBase64EncodedString:(NSString *)base64EncodedString;
  100. @end