我想使textField只接受小字母不是大寫字母,也不接受任何特殊符號或沒有任何數字。讓UITextField只接受Swift中的小字母字母?
回答
您可以使用正則表達式的,例如下面的正則表達式,只允許小符號
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string.isEmpty {
return true
}
let regex = "[a-z]{1,}"
return NSPredicate(format: "SELF MATCHES %@", regex).evaluate(with: string)
}
讓我仔細檢查。 –
限制大寫字母,數字&特殊符號,返回false
除文本視圖中的小寫字母委託方法textField:shouldChangeCharactersInRange:
。
雨燕3.0:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
var myCharSet = CharacterSet(charactersInString: "abcdefghijklmnopqrstuvwxyz")
for i in 0..<(string.characters.count ?? 0) {
var c: unichar = string[i]
if !myCharSet.characterIsMember(c) {
return false
}
}
return true
}
檢查此更新的代碼:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSLog(@"textField:shouldChangeCharactersInRange:replacementString:");
NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyz"];
for (int i = 0; i < [string length]; i++)
{
unichar c = [string characterAtIndex:i];
if (![myCharSet characterIsMember:c])
{
return NO;
}
}
return YES;
}
}
斯威夫特
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let set = NSCharacterSet(charactersInString: "abcdefghijklmnopqrstuvwxyz").invertedSet
return string.rangeOfCharacterFromSet(set) == nil
}
如果他了解邏輯,他可以很容易地將它轉換爲@NiravD。 –
我只是建議你編輯你的答案,休息取決於你。 –
你...我正在幫他解決這個問題......:D多數民衆贊成它..冷@NiravD –
嘗試下面的代碼只是自動獲得小寫字母這一點。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textEntry: UITextField!
//MARK : - Life Cycle
override func viewDidLoad() {
super.viewDidLoad()
textEntry.addTarget(self, action: #selector(self.textFieldDidChange), for: .editingChanged)
}
//MARK: - Lower letter function
func textFieldDidChange(sender: UITextField) {
sender.text = sender.text?.lowercased()
print(textEntry.text ?? "") //Check your text output here
}
}
讓我仔細檢查。 –
首先檢查一下,它肯定會起作用。 @SakirSherasiya –
它將大寫字母轉換爲小寫,我不想要它。 –
您可以使用此也
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
// Return false when user tries to delete but textField is empty
let currentCharacterCount = textField.text?.characters.count ?? 0
if (range.length + range.location > currentCharacterCount) {
return false
}
// Return true when user tries to delete but textField is not empty
if string == "" {
return true
}
let userEnteredString = textField.text ?? ""
let newString = (userEnteredString as NSString).replacingCharacters(in: range, with: string) as NSString
return ((newString as String).range(of: "^[a-z]+$", options: .regularExpression) != nil)
}
讓我仔細檢查。 –
- 1. C++,接受變量中的小寫字母和大寫字母
- 2. Grails:我如何讓g:textfield只接受數字或只接受字母?
- 3. 如何讓文本框只接受字母字符?
- 4. 如何讓textfield只接受LWUIT中的字母?
- 5. 只接受使用preg_match的UTF8字母
- 6. 只接受字母作爲輸入
- 7. UiTextField小寫字母的第一個字母
- 8. 只接受輸入中的數字和字母
- 9. UITextField只允許英文字母輸入
- 10. flex:只接受數字,字母,空格的正則表達式
- 11. 我可以讓SQL Server 2005 Table Column只接受字母和數字嗎?
- 12. 在UiTextField中創建第一個字母小寫字母(Phonegap for iOS)
- 13. 正則表達式只接受幾個字母字符
- 14. 如何使文本框只接受字母字符
- 15. 正則表達式只接受字母數字數據
- 16. jQuery驗證插件:只接受字母字符?
- 17. 如何創建EditText只接受android中的字母?
- 18. 如何創建只接受數字的文本框和只接受WPF中的字母的文本框?
- 19. UITextField佔位符中的下標字母
- 20. 當第一個字母是字母數字時接受文本框的值
- 21. Swift大寫字母中每個單詞的第一個字母
- 22. 只接受字母使用jquery掩碼的文本框
- 23. 如何使文本框數組只接受特定的字母?
- 24. 只識別帶有大寫字母和小寫字母的字符串
- 25. Python 2.7版接受大寫字母
- 26. 只去掉字符串中最左邊的字母,只有左邊的字母
- 27. 如何讓用戶搜索字母數組中的字母?
- 28. 如何創建只接受字母數字字符的正則表達式?
- 29. 製作一個EditText字段只接受Android中的字母和空格
- 30. 爲什麼我的密碼接受小寫和大寫字母
感謝在問它真的很有幫助對我來說 –