在開發中經常會遇到一些輸入框禁止使用者輸入特殊字元的情況。最近總結了一下。
方法一:如果只是限制少量特殊字元的話可以用以下方法進行判斷是否包含
[textfield.text rangeofstring:@"特殊字元"].location == nsnotfound
如果字串中包含特殊字元可以,將特殊字元移除,將擷取後的字串重新賦值給輸入框
string = [string stringbyreplacingoccurrencesofstring:@"要擷取的特殊字元" withstring:@""];
方法二:如果限制只允許輸入大寫,或者小寫字母,或者只允許輸入字母和數字可以用這種方法
需要實現textfield的**方法:
還見到一種方法- (bool)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string
不過這種方法存在不足之處,如果窮舉所有特殊字串顯然容易有所遺漏,另外如果長安輸入的字串,使指標位置在字串中間,然後再輸入字元插入,這個時候沒法過濾特殊字串。nscharacterset *set = [nscharacterset charactersetwithcharactersinstring:@"
@/:;()¥「」"、{}#%-
*+=_\\|~<>$€^·'@#$%^&*()_+'\""];
nsstring *newstring = [stringstringbytrimmingcharactersinset:set];
如果要限制允許輸入字串的最大長度,可以這樣:
給輸入框新增乙個監聽事件,然後實現方法[self.textfield addtarget:
self
action:
@selector(textfielddidchange:) forcontrolevents:
uicontroleventeditingchanged];
關於禁止輸入特殊字串應該還有別的方法,以後發現了再新增更新- (void)textfielddidchange:(uitextfield *)textfield
}}
輸入框輸入限制
public class verifytext 主監聽 regexpverifylistener regexpverifylistener null regexpverifylistener regexpverifylistener this.text.getdata digitverifylist...
輸入框限制
web 前端專案,經常會遇到輸入控制項只能輸入漢字,字母或者數字等等,本文介紹了一種簡單的方法。比如只能輸入字母,則在你輸入的時候進行判斷,如果你輸入的是數字,則會把數字自動的替換為空,優點是 簡潔,不需要考慮很多狀況,缺點是介面輸入不夠友好。輸入字母或者數字的時候,有必要將輸入法進行限制。styl...
輸入框限制
1.文字框只能輸入數字 小數點也不能輸入 2.只能輸入數字,能輸小數點.3.數字和小數點方法二 4.只能輸入字母和漢字 5.只能輸入英文本母和數字,不能輸入中文 6.只能輸入數字和英文chun 7.小數點後只能有最多兩位 數字,中文都可輸入 不能輸入字母和運算符號 57 event.keycode ...