我想检测我的字符串的第一个字母。如何检查字符串的第一个字符是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