輸入框禁止輸入特殊字串,限制輸入文字長度

2021-08-03 12:25:45 字數 1252 閱讀 6143

在開發中經常會遇到一些輸入框禁止使用者輸入特殊字元的情況。最近總結了一下。

方法一:如果只是限制少量特殊字元的話可以用以下方法進行判斷是否包含

[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 ...