我想檢測我的字符串的第一個字母。如何檢查字符串的第一個字符是iOS中的字母或特定符號?
我限制。,-,_和0-9用戶不能首先輸入UITextField
。但是假設用戶條目abc.4c並且在之前設置了交叉詞。並刪除abc,那麼字符串將是.4c &當用戶單擊提交按鈕時,其未驗證。那麼我如何檢查第一個字母是我的字符串中的一個字母或特定符號?
我想檢測我的字符串的第一個字母。如何檢查字符串的第一個字符是iOS中的字母或特定符號?
我限制。,-,_和0-9用戶不能首先輸入UITextField
。但是假設用戶條目abc.4c並且在之前設置了交叉詞。並刪除abc,那麼字符串將是.4c &當用戶單擊提交按鈕時,其未驗證。那麼我如何檢查第一個字母是我的字符串中的一個字母或特定符號?
我1周:) &之前遇到這個問題我是能解決的。我分享我的代碼請檢查
NSRange textfieldfirstText = [yourtextfield.text rangeOfComposedCharacterSequenceAtIndex:0];
NSRange textfieldmatchText = [yourtextfield.text rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet] options:0 range:textfieldfirstText];
if (textfieldmatchText.location != NSNotFound)
{
NSLog(@"checking...");
}
else
{
NSLog(@"not checking...");
}
請檢查與此。我認爲這對你有用。
嗨SR Nayak。十分感謝。它的工作正常,我解決了我的問題。所以我也給你投票並接受你的回答:) – 2014-09-02 11:42:32
謝謝。享受你的編碼:) – 2014-09-02 11:43:25
我認爲你需要第一個字符不應該。 - _ 0 1 2 3 4 5 6 7 8 9但上面的代碼是不是檢查這個 – BHASKAR 2014-09-02 11:58:36
[@"your_string" characterAtIndex:0];
,或者你可以用正則表達式的嘗試:
NSPredicate *p = [NSPredicate predicateWithFormat:@"SELF MATCHES[c] %@", @"^[0-9_\.-]"];
BOOL isConformingToRegex = [p evaluateWithObject:@"your_string"];
這不是工作夥計。總是去其他部分。 NSPredicate * p = [NSPredicate predicateWithFormat:@「SELF MATCHES [c]%@」,@「regex_string」]; BOOL isValid = [p evaluateWithObject:emailField.text]; (有效) if(isValid) { printf(「valid string ...」); } else { printf(「Invalid string ...」); } – 2014-09-02 11:38:17
編輯我的答案。 PS:如果你正在尋找類似電子郵件的字符串檢查,我會建議這是正則表達式字符串:(?:[a-z0-9!#$%\\&'* +/=?\\^_'{| }〜 - ] +(?!?\\ [A-Z0-9#$%&\\'* +/= \\^_'{|}〜 - ] +)* | \「(?: [\\ X01 - \\ X08 \\ X0B \\ X0C \\ x0e - \\ X1F \\ X21 X23 \\ - \\ x5b \\ X5D - \\ 0x7F部分] | \\\\ [\\ x01- \ \ X09 \\ X0B \\ X0C \\ x0e - \\ 0x7F部分])* \「)@(:(:[α-Z0-9](:???[A-Z0-9 - ] * [A- Z0-9])\\)+ [A-Z0-9](?:???[A-Z0-9 - ] * [A-Z0-9])| \\ [(:(?: 25 [0-5] | 2 [0-4] [0-9] |?。[01] [0-9] [0-9])\\){3}(?: 25 [0-5] | 2 [0-4] [0-9] | [01] [0-9] [0-9] |?[A-Z0-9 - ] * [A-Z0-9] :(?:[\\ X01 - \\ X08 \\ X0B \\ X0C \\ x0e - \\ X1F \\ X21 - \\ X5A \\ X53 - \\ 0x7F部分] | \\\\ [\\ X01 - \\ X09 \\ x0b \\ x0c \\ x0e - \\ x7f])+)\\]) – grimdox 2014-09-02 12:00:19
您可以使用此檢查
if(textField.text.length>0){
NSString *newStr = [textField.text substringToIndex:1];
if ([newStr intValue]>0 || [newStr isEqualToString:@"."] || [newStr isEqualToString:@"0"] || [newStr isEqualToString:@"-"] || [newStr isEqualToString:@"_"]) {
NSLog(@"First charecter is wrong");
}
}
我的要求是第一個字符不應該是。 - _ 0 1 2 3 4 5 6 7 8 9 – 2014-09-02 11:18:52
NSString * str = @「%bc%sa」;
NSCharacterSet *notAllowedChars = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"] invertedSet];
NSString *Strq = [str substringToIndex:1];
BOOL valid = [[Strq stringByTrimmingCharactersInSet:notAllowedChars] isEqualToString:@""];
if (valid) {
// Its a Symbol
}
else
{
// letter or numbers
}
試試這能帶給你只能從整個字符串
NSString *codeString;
NSString *firstLetter = [[codeString substringFromIndex:0] substringToIndex:1];
if([firstLetter isEqualToString:@"."])
{
NSLog(@"Wrong character to start with...");
}
有你經歷https://developer.apple.com/library/ios/的第一個字母文檔/ uikit/reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html – 2014-09-02 11:00:15
@iosDev是否可以刪除字符串中的所有特殊字符和數字..?您的要求全部填寫。 – ilesh 2014-09-02 11:00:59
您可以使用regx – BHASKAR 2014-09-02 11:04:13