ios android 英文字母,iOS开发之限制中文、英文、数字的输入

目前的开发的项目中有限制字符输入的需求,趁此机会整理一下这个知识点。

1 严格限制输入中文。中文unicode码的范围是4E00-9FEA ,共20970个汉字。

- (BOOL)isChineseCharacter:(NSString*)source {

NSString *regex = @"^[\\u4E00-\\u9FEA]+$";

return ([source rangeOfString:regex options:NSRegularExpressionSearch].length>0);

}

2 严格限制输入英文字母

英文unicode码的范围是 0041-005A(大写字母)和 0061-007A(小写字母)

- (BOOL)isEnglishCharacter:(NSString*)source {

NSString *upperRegex = @"^[\\u0041-\\u005A]+$";

NSString *lowerRegex = @"^[\\u0061-\\u007A]+$";

BOOL isEnglish = (([source rangeOfString:upperRegex options:NSRegularExpressionSearch].length>0) || ([source rangeOfString:lowerRegex options:NSRegularExpressionSearch].length>0));

returnisEnglish;

}

3 严格限制输入数字。数字的unicode范围是 0030-0039

- (BOOL)isNumber:(NSString*)source {

NSString *regex = @"^[\\u0030-\\u0039]+$";

return ([source rangeOfString:regex options:NSRegularExpressionSearch].length>0);

}

以上方法仅是一种解决问题的思路,仅供参考。

在实际的情况中,往往不会是这么严格的限定。空格,标点符号你总得让用户去输入吧!所以,这个时候,在做限制的时候就要考虑到其他的情况。要不然用户该骂娘了!最重要的是,你下个月的“五险一金”可能要换个老板给你交了!

--------------------------- 分割线 ---------------------------

- (BOOL)stringContainsEmoji:(NSString*)source {

__blockBOOLreturnValue =NO;

[sourceenumerateSubstringsInRange:NSMakeRange(0, [source length])

options:NSStringEnumerationByComposedCharacterSequences

usingBlock:^(NSString*substring,NSRangesubstringRange,NSRangeenclosingRange,BOOL*stop) {

constunicharhs = [substringcharacterAtIndex:0];

if(0xd800<= hs && hs <=0xdbff) {

if(substring.length>1) {

constunicharls = [substringcharacterAtIndex:1];

constintuc = ((hs -0xd800) *0x400) + (ls -0xdc00) +0x10000;

if(0x1d000<= uc && uc <=0x1f77f) {

returnValue =YES;

}

}

}elseif(substring.length>1) {

constunicharls = [substringcharacterAtIndex:1];

if(ls ==0x20e3) {

returnValue =YES;

}

}else{

if(0x2100<= hs && hs <=0x27ff) {

returnValue =YES;

}elseif(0x2B05<= hs && hs <=0x2b07) {

returnValue =YES;

}elseif(0x2934<= hs && hs <=0x2935) {

returnValue =YES;

}elseif(0x3297<= hs && hs <=0x3299) {

returnValue =YES;

}elseif(hs ==0xa9|| hs ==0xae|| hs ==0x303d|| hs ==0x3030|| hs ==0x2b55|| hs ==0x2b1c|| hs ==0x2b1b|| hs ==0x2b50) {

returnValue =YES;

}

}

}];

returnreturnValue;

}

以下为补充内容,来自http://blog.csdn.net/j_r_k/article/details/78204578

在限制输入的时候,可能要用到全角转半角或半角转全角的情况。

至于什么是全角半角,不明白的可以移步这里充一下电。

全角转半角

- (NSString *)replaceSpecialWhitespace{

NSMutableString *convertedString = [self mutableCopy];

CFStringTransform((CFMutableStringRef)convertedString, NULL, kCFStringTransformFullwidthHalfwidth, false);

return [NSString stringWithString:convertedString];

}

半角转全角

- (NSString *)replaceNormalWhiteSpace{

NSMutableString *convertedString = [self mutableCopy];

CFStringTransform((CFMutableStringRef)convertedString, NULL, kCFStringTransformHiraganaKatakana, false);

return [NSString stringWithString:convertedString];

}

分割线下的内容,网侵删!

如有错误,欢迎评论区给予指正!

如果感觉对你有帮助,别忘了给俺点个赞!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!针对您的问题,这里提供一些相关的信息供您参考。 首先,Unity是一款跨平台的游戏开发引擎,可以支持在多个平台上进行游戏开发。而AndroidiOS是其中比较常见的移动平台。 在AndroidiOS平台上嵌入Unity的开发示例,可以参考官方文档中的相关内容。具体步骤如下: 1. 创建Unity项目并设置相关参数,例如选择AndroidiOS平台,设置屏幕分辨率等。 2. 在Unity项目中添加所需的场景和游戏对象,并设置相应的脚本和材质等。 3. 将Unity项目导出为AndroidiOS平台所需的文件格式,例如APK或IPA文件。 4. 在AndroidiOS项目中嵌入Unity文件,并通过相关代码进行调用和交互。 需要注意的是,AndroidiOS平台上嵌入Unity的具体实现方式可能会有所不同,需要根据具体情况进行调整和修改。 另外,关于在Unity中开发AndroidiOS应用的示例,也可以参考官方文档中的相关内容。具体步骤如下: 1. 创建Unity项目并设置相关参数,例如选择AndroidiOS平台,设置屏幕分辨率等。 2. 在Unity项目中添加所需的场景和游戏对象,并设置相应的脚本和材质等。 3. 使用Unity提供的AndroidiOS插件进行开发,例如调用相机或GPS等硬件功能,或者进行网络通信等。 4. 将Unity项目导出为AndroidiOS应用程序,并进行相关的测试和调试。 需要注意的是,开发AndroidiOS应用程序需要遵循相应的规范和标准,例如Android应用程序需要满足Google Play的要求,iOS应用程序需要通过苹果的审核。因此,在开发过程中需要谨慎处理相关问题。 希望以上信息对您有所帮助,如有任何疑问,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值