判断输入的手机号和价格是否合法

  1. ///// 手机号码的有效性判断
  2. //检测是否是手机号码
  3. - (BOOL)isMobileNumber:(NSString *)mobileNum
  4. {
  5. /**
  6. * 手机号码
  7. * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
  8. * 联通:130,131,132,152,155,156,185,186
  9. * 电信:133,1349,153,180,189
  10. */
  11. NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
  12. /**
  13. 10         * 中国移动:China Mobile
  14. 11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
  15. 12         */
  16. NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
  17. /**
  18. 15         * 中国联通:China Unicom
  19. 16         * 130,131,132,152,155,156,185,186
  20. 17         */
  21. NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";
  22. /**
  23. 20         * 中国电信:China Telecom
  24. 21         * 133,1349,153,180,189
  25. 22         */
  26. NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";
  27. /**
  28. 25         * 大陆地区固话及小灵通
  29. 26         * 区号:010,020,021,022,023,024,025,027,028,029
  30. 27         * 号码:七位或八位
  31. 28         */
  32. // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
  33. NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
  34. NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
  35. NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
  36. NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
  37. if (([regextestmobile evaluateWithObject:mobileNum] == YES)
  38. || ([regextestcm evaluateWithObject:mobileNum] == YES)
  39. || ([regextestct evaluateWithObject:mobileNum] == YES)
  40. || ([regextestcu evaluateWithObject:mobileNum] == YES))
  41. {
  42. return YES;
  43. }
  44. else
  45. {
  46. return NO;
  47. }
  48. }
  49. //////// 特殊字符的限制输入,价格金额的有效性判断
  50. #define myDotNumbers     @"0123456789.\n"
  51. #define myNumbers          @"0123456789\n"
  52. -(void) createTextFiled {
  53. textfield1_ = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
  54. textfield1_.delegate = self;
  55. [self addSubview:textfield1_];
  56. textfield2_ = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
  57. textfield2_.delegate = self;
  58. [self addSubview:textfield2_];
  59. textfield3_ = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
  60. textfield3_.delegate = self;
  61. [self addSubview:textfield3_];
  62. }
  63. -(void)showMyMessage:(NSString*)aInfo {
  64. UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:aInfo delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil nil];
  65. [alertView show];
  66. [alertView release];
  67. }
  68. - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
  69. NSCharacterSet *cs;
  70. if ([textField isEqual:textfield1_]) {
  71. cs = [[NSCharacterSet characterSetWithCharactersInString:myNumbers] invertedSet];
  72. NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
  73. BOOL basicTest = [string isEqualToString:filtered];
  74. if (!basicTest) {
  75. [self showMyMessage:@"只能输入数字"];
  76. return NO;
  77. }
  78. }
  79. else if ([textField isEqual:textfield2_]) {
  80. cs = [[NSCharacterSet characterSetWithCharactersInString:myNumbers] invertedSet];
  81. NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
  82. BOOL basicTest = [string isEqualToString:filtered];
  83. if (!basicTest) {
  84. [self showMyMessage:@"只能输入数字"];
  85. return NO;
  86. }
  87. }
  88. else if ([textField isEqual:textfield3_]) {
  89. NSUInteger nDotLoc = [textField.text rangeOfString:@"."].location;
  90. if (NSNotFound == nDotLoc && 0 != range.location) {
  91. cs = [[NSCharacterSet characterSetWithCharactersInString:myDotNumbers] invertedSet];
  92. }
  93. else {
  94. cs = [[NSCharacterSet characterSetWithCharactersInString:myNumbers] invertedSet];
  95. }
  96. NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
  97. BOOL basicTest = [string isEqualToString:filtered];
  98. if (!basicTest) {
  99. [self showMyMessage:@"只能输入数字和小数点"];
  100. return NO;
  101. }
  102. if (NSNotFound != nDotLoc && range.location > nDotLoc + 3) {
  103. [self showMyMessage:@"小数点后最多三位"];
  104. return NO;
  105. }
  106. }
  107. return YES;
时间: 2024-11-04 03:46:32

判断输入的手机号和价格是否合法的相关文章

Javascript 判断输入日期是否正确

JavaScript的Date对象有容错性,可将随意给定的日期的年月日自动生成正确的日期时间 //JavaScript中Date对象容错性 function dateCheck(){ var date = new Date(); date.setDate(date.getDate()+13); //date.setDate(date.getMonth()+1+10); //打印依然能输出正确的日期 console.log(date.getFullYear()+"年"+(date.get

华为OJ测试题——判断输入的字符串是不是一个有效的IP地址(附世上最全测试数据)

题目标题: 判断输入的字符串是不是一个有效的IP地址 详细描述: 请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效的IP地址,false,无效的IP地址 约束 输入IP为XXX.XXX.XXX.XXX格式 字符串两端含有空格认为是合法IP 字符串中间含有空格认为是不合法IP 类似于 01.1.1.1, 1.02.3.4  IP子段以0开头为不合法IP 子段为单个0 认为是合法IP,0.0.

JS判断输入是否为整数的正则表达式

1: "^//d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-//d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?//d+$" //整数 "^//d+(//.//d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+//.[0-9

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

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

Shell脚本中判断输入参数个数的方法投稿:junjie 字体:[增加 减小] 类型:转载

Shell脚本中判断输入参数个数的方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Shell脚本中判断输入参数个数的方法,使用内置变量$#即可实现判断输入了多少个参数,需要的朋友可以参考下 $#代表了命令行的参数数量,可以看以下实例: 复制代码 代码如下: if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit 1; f

JavaScript判断输入的内容是否为空,应该注意的一点!

JavaScript 我们经常要判断一个输入框中是否输入了内容,如果未输入内容就要弹出提示框告诉用户未输入内容! 但是这里有一个问题,如果用户输入的是一个空格 或者是一些其它空字符,这时如果不注意,就达不到要求了! 下面我给我出一段JavaScript代码用来解决以上问题: Js代码   //提交查询内容 function formSubmit() { var condId = document.getElementById("searchProductText"); var text

判断输入的字符是不是数字

判断输入是数字,还是字符串 方法一: a = input("请输入一个要判断的字符: ") m = n = 0 for i in a: m += 1 if i in ['0','1','2','3','4','5','6','7','8','9']: n += 1 if m == n: print("您输入的是数字:", a) else: print("您输入的是字符串:", a) 方法二: myInput = input("请输入一个

用户输入电话号码,判断合理与否?要求,判断长度和判断输入内容是否合理 隐藏用户电话号码的中间4位

/** *用户输入电话号码,判断合理与否?要求,判断长度和判断输入内容是否合理 *隐藏用户电话号码的中间4位, *思路: *1.用正则判断  条件:长度11位判断有两种方法,正则{11}和length()==11 *2.输入内容用正则判断 *电话号的正则:      "(13)[0-9][\\d]{8}|(15)[0-9][\\d]{8}" */ public class StringDemo4 { public static void main(String[] args) { St

shell脚本--判断输入的ip是否正确

#!/bin/bash #It's written by caibingsen #!/bin/bash #It's written by caibingsen #date:2016-03-15 #while设置成死循环,在输入的ip不符合条件时,重新输入 while : do read -p "请输入要判断的ip地址:" ip #判断输入的ip地址是否仅由数字和点组成,并将值赋给m. #判断输入的ip地址的小数点的个数,复制给n m=`echo $ip |sed 's/[0-9.]//