手機格式334 自動分割

2021-08-14 10:20:25 字數 2506 閱讀 1383

.h檔案(繼承與uitextfield自定義乙個textfield)

#import #define partitionstr @" "

@inte***ce cqphonenumtf : uitextfield

/** 去掉格式的**號碼 */

@property (nonatomic, strong) nsstring *plainphonenum;

@end

.m檔案:

#import "cqphonenumtf.h"

@inte***ce cqphonenumtf ()@end

@implementation cqphonenumtf

- (nsstring *)plainphonenum

- (void)awakefromnib

- (instancetype)initwithframe:(cgrect)frame

return self;

}- (bool)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string

if (textfield)

return yes;

}//從中間刪除

else

[textfield deletebackward];

textfield.text = [self _parsestring:textfield.text];

uitextposition *newpos = [textfield positionfromposition:textfield.beginningofdocument offset:offset];

textfield.selectedtextrange = [textfield textrangefromposition:newpos toposition:newpos];

return no;}}

else if (range.length > 1)

[textfield deletebackward];

textfield.text = [self _parsestring:textfield.text];

nsinteger offset = range.location;

if (range.location == 3 || range.location == 8)

if (islast) else

return no;

}else

}else if(string.length >0)

if(![self _isnum:string])

[textfield inserttext:string];

textfield.text = [self _parsestring:textfield.text];

nsinteger offset = range.location + string.length;

if (range.location == 3 || range.location == 8)

uitextposition *newpos = [textfield positionfromposition:textfield.beginningofdocument offset:offset];

textfield.selectedtextrange = [textfield textrangefromposition:newpos toposition:newpos];

return no;

}else

}return yes;

}- (nsstring*)_parsestring:(nsstring*)string

nsmutablestring* mstr = [nsmutablestring stringwithstring:[string stringbyreplacingoccurrencesofstring:partitionstr withstring:@""]];

if (mstr.length >3) if (mstr.length > 8)

return mstr;

}/** 獲取正常**號碼(去掉空格) */

- (nsstring*)_nonespasestring:(nsstring*)string

- (bool)_isnum:(nsstring *)checkednumstring

checkednumstring = [checkednumstring stringbytrimmingcharactersinset:[nscharacterset decimaldigitcharacterset]];

if(checkednumstring.length > 0)

return yes;

}@end

至於呼叫的話,也是非常簡單的,之間將建立控制項時的類名替換為該類的類名即可!

Nginx 日誌自動分割

nginx 的日誌都是寫在乙個檔案當中的,不會自動地進行切割,如果訪問量很大的話,將導致日誌檔案容量非常大,不便於管理和造成nginx 日誌寫入效率低下等問題。所以,往往需要要對access log error log日誌進行切割。切割日誌一般利用usr1訊號讓nginx產生新的日誌。例項 123 ...

tomcat日誌自動分割 linux

今天在tomcat上檢視專案日誌的時候,發現catalina.out檔案竟然已經達到202m了,決定做一下日誌的分割.先看了一下crontab任務中,發現有個刪除前10天日誌的自動任務,但是沒有發現切割的自動任務.搜了一下,據說tomcat有預設的日誌分割功能,能每天自動生成類似catalina.2...

使用cronolog自動分割apache的日誌。

為了方便分析 的日誌,需要將apache的日誌按周來分割,網上搜尋了下,cronolog可以完成這個功能,實際操作了下,操作過程中參考了這篇文章 在此,謝謝作者。下面是操作記錄 解壓縮 tar xzvf cronolog 1.6.2.tar gz 進入目錄 cd cronolog 1.6.2 列出所...