今天我們的使用者輸入手機號之後變成了使用者的名字,沒辦法獲取驗證碼,因為手機格式不對。我還是頭一次遇到這樣的事情。
1.文字替換
2.用空格防止文字替換
#pragma mark - uitextfielddelegate
-(bool)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string
// 手機號最多輸13位 包含兩個空格,防止文字替換
if(range.location >= 13)
}return yes;
}
這樣就成功的防止文字替換了,因為文字替換不能包含空格。但是我又發現刪除不了了,就是當刪除到空格的時候就不能繼續刪除了。難道是數字鍵盤裡不能刪除空格???後來我分析**發現當我刪除到空格的時候,就會自動幫我在後面再加上乙個空格,這樣我就永遠把空格刪除不了了。所以我要區分只有在輸入的時候新增空格,刪除到123 1234 5678的5時,自動把5前面的空格去掉。
3.區分輸入和刪除
當uitextfield刪除的時候執行- (void)deletebackward;
方法,這個方法在uikeyinput協議中。那這就好辦了,自定義uitextfield的,重寫- (void)deletebackward;
,這個方法一執行,就發通知,或者走**,都可以。後來我發現這有點麻煩,我還要自定義,發通知/**,太麻煩了。所以我就想通過監測uitextfield的location來區分輸入或刪除。
#pragma mark - uitextfielddelegate
-(bool)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string
_lastlocation = range.location - 1;
return yes;
}else
}_lastlocation = range.location;
// 手機號最多輸13位 包含兩個空格,防止文字替換
if(range.location >= 13)
}return yes;
}
其實使用者一多,對開發者來說成長會非常快,因為什麼情況都會遇到,我們就在解決問題中成長。 EditText輸入手機號自動帶空格
在android開發過程中,經常會要求使用者輸入手機號,為了便於 我們都會已135 x x這種格式展示 通過下面的方法,直接輸入格式化。xml布局檔案中寫法如下 android id id edittext android layout width match parent android layo...
輸入手機號格式344展示形式(只允許數字)
我的專案中有多出需要輸入手機號,我封裝mixins裡telphone.js,控制手機號344展示格式,如下 import from utils reg export const telphone watch d d 1 2 3 this.threephone.trim if this threeph...
手機號輸入框的優化
在前端開發中,我們經常會遇到使用者輸入手機號的情況,比如手機號註冊 登入,收集使用者的手機號資訊等。如果我們要想把使用者體驗做到極致,至少要包含以下兩條需求 1.輸入框只能輸入數字 2.輸入框最多只能輸入11個字元 通常情況下,開發人員的解決方法就是把input標籤的type屬性設定為number,...