iOS 判断字符串中是否有中文

-(BOOL)IsChinese:(NSString *)str {
for(int i=0; i< [str length];i++){ 
int a = [str characterAtIndex:i]; 
if( a > 0x4e00 && a < 0x9fff)
return YES;
         }
         
     } return NO;
}

if ([self PanDuan:@ "aa!@#$%^&*(我)" ]) {
     NSLog(@ "--->有中文" );
}

iOS的Objective-C (OC) ,如果你想要限制用户在UITextField或UITextView等文本输入控件输入中文,可以通过设置键盘类型、正则表达式验证或者自定义输入代理来实现。以下是几种方法: 1. 键盘类型设置: - 如果你只需要支持英文输入,可以使用`UIKeyboardTypeASCIICapable`类型的键盘,它默认不会显示包含中文的键盘。 ```objective-c [inputTextField setKeyboardType:UIKeyboardTypeASCIICapable]; ``` 2. 正则表达式验证: 在文本框的`shouldChangeCharactersInRange:replacementString:`代理方法,检查输入的字符串是否包含你想要的字符(如英文字符)。 ```objective-c - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string]; // 使用正则表达式判断是否为英文或者其他允许的字符 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"^[a-zA-Z0-9]+$"]; return [predicate evaluateWithObject:newString]; } ``` 3. 自定义输入代理: 实现`UITextFieldDelegate`协议,然后在`textField:shouldInsertText:`方法过滤中文字符。 ```objective-c - (BOOL)textField:(UITextField *)textField shouldInsertText:(NSString *)text { if ([text rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:@"\u4e00-\u9fa5"]] != NSNotFound) { // 如果包含中文字符,返回NO阻止输入 return NO; } return YES; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值