对输入框输入的字符进行判断,检查输入类型是不是数字计算的类型

//对输入的字符进行判断

static NSString *numbers = @"0123456789";

static NSString *numbersPeriod = @"0123467890.";

static NSString *numbersComma = @"0123456789,";

if (range.length > 0 && [string length] == 0) {//删除内容

// enable delete

return YES;

}

//检查符号是不是在第一位

NSString *symbol = [[NSLocale currentLocale] objectForKey:NSLocaleDecimalSeparator];

if (range.location == 0 && [string isEqualToString:symbol]) {

// decimalseparator should not be first

return NO;

}

//判断第二位的不是小数点,且第一位的数字是0

if(range.location == 1){

if ([textField.text isEqualToString:@"0"] && ![string isEqualToString:@"."]){

return NO;

}

}

NSCharacterSet *characterSet;

NSRange separatorRange = [textField.text rangeOfString:symbol];

if (separatorRange.location == NSNotFound) {

if ([symbol isEqualToString:@"."]) {

characterSet = [[NSCharacterSet characterSetWithCharactersInString:numbersPeriod] invertedSet];

}

else {

characterSet = [[NSCharacterSet characterSetWithCharactersInString:numbersComma] invertedSet];

}

}

else {

// allow 2 characters after the decimal separator

if (range.location > (separatorRange.location + 2)) {

return NO;

}

characterSet = [[NSCharacterSet characterSetWithCharactersInString:numbers] invertedSet];

}

if ([[string stringByTrimmingCharactersInSet:characterSet] length] == 0) {

return NO;

}

时间: 2024-07-28 23:13:32

对输入框输入的字符进行判断,检查输入类型是不是数字计算的类型的相关文章

c语言:不用if,else语句,也不用循环条件等,输入一个字符,判断是否为大写字母

不用if,else语句,也不用循环条件等,输入一个字符,判断是否为大写字母,如果是,就转换成小写字母:否则不转换.最后输出得到的这个字符. 程序: #include<stdio.h> int main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); ch = (ch >= 'A'&&ch <= 'Z') ? (ch + 32) : ch; printf("%

java小练习:输入一个字符,判断该字符是数字?英文字母?还是其他字符

package practiceGO; import java.util.Scanner; /*  * 3.输入一个字符,判断该字符是数字?英文字母?还是其他字符  */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入一个字符:"); char ch = sc.next().charAt(0);

【c语言】 输入一个字符,判断它是否为大写字母,如果是,将它转换成小写字母,如果不是不转换

// 输入一个字符,判断它是否为大写字母,如果是,将它转换成小写字母,如果不是不转换 #include <stdio.h> int main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); if(ch >= 'A' && ch <= 'Z') ch = ch + 32; printf("转换成小写字母是:%c\n",ch); return 0; }

编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大写字母,否则,不转换

package com.my.demo; import java.util.Scanner; public class Test1 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入一串字母:"); String line=sc.nextLine(); char[] arr=line.toCharArray(); for(int i=0;

UITextField限制输入的字符个数。比如输入手机号时,只能是11位

- (void)setupTextField { UITextField *tf = [[UITextField alloc] init]; tf.keyboardType = UIKeyboardTypeNumberPad; tf.frame = CGRectMake(80, 80, 200, 40); tf.backgroundColor = [UIColor redColor]; [self.view addSubview:tf]; [[NSNotificationCenter defau

很实用的js限制不让输入其他字符,只让输入数字和 js生成UUID

onkeyup="this.value=this.value.replace(/\D/g,'')" js生产UUID 1 var createUUID = (function (uuidRegEx, uuidReplacer) { 2 return function () { 3 return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(uuidRegEx, uuidReplacer).toUpperCase();

input怎么限制用户输入一些字符

思路 运用http://my.oschina.net/lirongfei/blog/507823这里面介绍的兼容性input事件 动态获取当前输入的字符,判断是否符合要求,如果不符合,就用旧的正确值填充(这个旧的正确值,是你在正确的时候保存的) 难点就是动态获取当前输入的字符 下面是实现方法 get_focus_position:function(input){ var position=0; if(!input.selectionStart){ input.focus(); var sel=d

Dell笔记本 只能输入一个字符

问题,如上,输了一个字符就不能输入了,擦~以为天热键盘烧了. 重启了几次系统,都是一样,每次进入系统,只能输入一个字符后就无法输入了,初步判断是软件问题. 增加一个外置键盘,外置键盘可以正常输入. 判断是输入驱动问题,驱动精灵更新驱动,问题依旧. 想起之前安装过"中国邮政网络银行",卸载之,问题解决. 查原因是网银与dell的Dell touch触控板管理程序有冲突,卸载其中之一即可. Dell笔记本 只能输入一个字符

EditText监听方法,实时的判断输入多少字符

最近在写一个小项目,其中有一点用到了显示EditText中输入了多少个字符,像微博中显示剩余多少字符的功能.在EditText提供了一个方法addTextChangedListener实现对输入文本的监控.下边是我自己写的一个Demo. 代码实现: 布局文件main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.