NSString+Extension.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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. // 获取保存文件名
  32. - (NSString *)getUrlFileName;
  33. /**
  34. 获取字符串首字母(传入汉字字符串,返回大写拼音首字母)
  35. @param aString 传入字符串
  36. @return 返回
  37. */
  38. + (NSString *)getFirstLetterFromString:(NSString *)aString;
  39. /// 是否能返回大写拼音首字母
  40. /// @param aString 传入字符串
  41. + (BOOL)canLetterFormat:(NSString *)aString;
  42. /// 是否汉字
  43. - (BOOL)isHanz;
  44. /**
  45. 检测是否包含emoji表情
  46. @param string 字符串
  47. @return 返回值
  48. */
  49. + (BOOL)isContainsTwoEmoji:(NSString *)string;
  50. + (NSString *)stringReplaceFromString:(NSString *)string;
  51. @end
  52. /**
  53. 时间转换
  54. */
  55. @interface NSString (DateTransform)
  56. - (NSString *)getWeekDay;
  57. /**
  58. * 获取当前时间字符串
  59. *
  60. * @return 当前时间字符串
  61. */
  62. + (NSString *)getCurrentTime;
  63. /**
  64. *
  65. *
  66. * @return 倒计时时间
  67. */
  68. + (NSString *)getCountDownWithTime:(NSInteger)second;
  69. @end
  70. @interface NSString (CheckString)
  71. /**
  72. *
  73. * 金额校验 最多2位小数
  74. */
  75. + (BOOL)validateMoney:(NSString *)money;
  76. /**
  77. 输入字段校验
  78. @param type 字段类型
  79. @return 校验是否成功
  80. */
  81. - (CHECKTYPE)checkInputTextWithType:(INPUTTEXT_TYPE)type;
  82. // unicode转码
  83. + (NSString*)replaceUnicode:(NSString*)aUnicodeString;
  84. +(NSString *)utf8ToUnicode:(NSString *)string;
  85. // 小数点格式化:如果有两位小数不为0则保留两位小数,如果有一位小数不为0则保留一位小数,否则显示整数
  86. + (NSString *)formatDoubleNum:(double)value;
  87. // 小数点格式化:最多保留一位小数
  88. + (NSString *)formatDoubleNumToADecimal:(double)value;
  89. // 94,862.57
  90. + (NSString *)formatMoneyDoubleNum:(double)value;
  91. @end
  92. @interface NSString (QRCode)
  93. - (UIImage *)generateQRImage;
  94. @end
  95. @interface NSString (KSBase64Encode)
  96. - (NSString *)ks_base64EncodedString;
  97. + (NSString *)ks_stringWithBase64EncodedString:(NSString *)base64EncodedString;
  98. @end