用正则验证用户的帐号密码以及手机号码与身份证的方法

这次给大家带来用正则验证用户的帐号密码以及手机号码与身份证的方法,用正则验证用户的帐号密码以及手机号码与身份证的注意事项有哪些,下面就是实战案例,一起来看一下。

废话不多说了,下面给大家介绍使用正则表达式验证用户名、密码、手机号码、身份证的写法,需要的的朋友参考下吧

//用户名+ (BOOL) validateUserName:(NSString *)name{ NSString *userNameRegex = @"^[A-Za-z0-9]{3,20}+$"; NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex]; BOOL B = [userNamePredicate evaluateWithObject:name]; return B;}//密码+ (BOOL) validatePassword:(NSString *)passWord{ NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$"; NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex]; return [passWordPredicate evaluateWithObject:passWord];}//判断手机号码格式是否正确+ (BOOL)valiMobile:(NSString *)mobile{ mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""]; if (mobile.length != 11) {  return NO; }else{  /**   * 移动号段正则表达式   */  NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\d{8}|(1705)\d{7}$";  /**   * 联通号段正则表达式   */  NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\d{8}|(1709)\d{7}$";  /**   * 电信号段正则表达式   */  NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\d{8}$";  NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];  BOOL isMatch1 = [pred1 evaluateWithObject:mobile];  NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];  BOOL isMatch2 = [pred2 evaluateWithObject:mobile];  NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];  BOOL isMatch3 = [pred3 evaluateWithObject:mobile];  if (isMatch1 || isMatch2 || isMatch3) {   return YES;  }else{   return NO;  } }}/** * 验证身份证号码是否正确的方法 * * @param IDNumber 传进身份证号码字符串 * * @return 返回YES或NO表示该身份证号码是否符合国家标准 */+ (BOOL)isCorrect:(NSString *)IDNumber{ NSMutableArray *IDArray = [NSMutableArray array]; // 遍历身份证字符串,存入数组中 if (IDNumber.length == 18) {  for (int i = 0; i < 18; i++) {   NSRange range = NSMakeRange(i, 1);   NSString *subString = [IDNumber substringWithRange:range];   [IDArray addObject:subString];  } }else{  for (int i = 0; i < 15; i++) {   NSRange range = NSMakeRange(i, 1);   NSString *subString = [IDNumber substringWithRange:range];   [IDArray addObject:subString];  } } // 系数数组 NSArray *coefficientArray = [NSArray arrayWithObjects:@"7", @"9", @"10", @"5", @"8", @"4", @"2", @"1", @"6", @"3", @"7", @"9", @"10", @"5", @"8", @"4", @"2", nil]; // 余数数组 NSArray *remainderArray = [NSArray arrayWithObjects:@"1", @"0", @"X", @"9", @"8", @"7", @"6", @"5", @"4", @"3", @"2", nil]; // 每一位身份证号码和对应系数相乘之后相加所得的和 int sum = 0; if (IDNumber.length == 18) {  for (int i = 0; i < 17; i++) {   int coefficient = [coefficientArray[i] intValue];   int ID = [IDArray[i] intValue];   sum += coefficient * ID;  } }else{  for (int i = 0; i < 14; i++) {   int coefficient = [coefficientArray[i] intValue];   int ID = [IDArray[i] intValue];   sum += coefficient * ID;  } } // 这个和除以11的余数对应的数 NSString *str = remainderArray[(sum % 11)]; // 身份证号码最后一位 NSString *string; if (IDNumber.length == 18) {  string = [IDNumber substringFromIndex:17]; }else{  string = [IDNumber substringFromIndex:14]; } // 如果这个数字和身份证最后一位相同,则符合国家标准,返回YES if ([str isEqualToString:string]) {  return YES; } else {  return NO; }}

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

在JS里编写简单的正则方式

经常会用到的15个前端表单验证的正则

以上就是用正则验证用户的帐号密码以及手机号码与身份证的方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2778047.html

(0)
上一篇 2025年3月8日 15:17:39
下一篇 2025年3月8日 15:17:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 完全匹配数字与字母密码的正则(步骤详解)

    这次给大家带来完全匹配数字与字母密码的正则(步骤详解),实现完全匹配数字与字母密码正则的注意事项有哪些,下面就是实战案例,一起来看一下。 一个用户注册功能的密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间…

    编程技术 2025年3月8日
    200
  • 用正则表达式验证判断密码的强弱程度并且进行提示

    这次给大家带来用正则表达式验证判断密码的强弱程度并且进行提示,用正则表达式验证判断密码的强弱程度并且进行提示的注意事项有哪些,下面就是实战案例,一起来看一下。 学python的re模板,写了个文章发现没人看,所以总结出来经验,理论没人爱,实…

    编程技术 2025年3月8日
    200
  • 验证用户名与密码的15个正则

    这次给大家带来验证用户名与密码的15个正则,使用验证用户名与密码正则的注意事项有哪些,下面就是实战案例,一起来看一下。 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号)var uPattern = /^[a-zA-Z0…

    编程技术 2025年3月8日
    200
  • 使用正则验证用户输入的银行卡号(附代码)

    这次给大家带来使用正则验证用户输入的银行卡号(附代码),使用正则验证用户输入银行卡号的注意事项有哪些,下面就是实战案例,一起来看一下。 //js正则实现用户输入银行卡号的控制及格式化 function formatBankNo (BankN…

    编程技术 2025年3月8日
    200
  • Ajax+bootstrap优化网页用户体验的步奏

    这次给大家带来Ajax+bootstrap优化网页用户体验的步奏,Ajax+bootstrap优化网页用户体验的注意事项有哪些,下面就是实战案例,一起来看一下。 Bookstrap:美化页面: Bootstrap是Twitter推出的一个开…

    2025年3月8日
    200
  • Ajax+Struts2怎么实现用户输入验证码校验功能

    这次给大家带来Ajax+Struts2怎么实现用户输入验证码校验功能,Ajax+Struts2实现用户输入验证码校验功能的注意事项有哪些,下面就是实战案例,一起来看一下。 众所周知,验证码在我们的生活中都是非常常见的,很多公司都在各种折腾各…

    2025年3月8日
    200
  • ajax操作全局监测,用户session失效怎么处理

    这次给大家带来ajax操作全局监测,用户session失效怎么处理,处理ajax操作全局监测,用户session失效的注意事项有哪些,下面就是实战案例,一起来看一下。 ajax 操作全局监测,用户session失效的解决方法 jQuery(…

    编程技术 2025年3月8日
    200
  • beforeSend怎么提高用户体验

    这次给大家带来beforeSend怎么提高用户体验,beforeSend提高用户体验的注意事项有哪些,下面就是实战案例,一起来看一下。 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在…

    编程技术 2025年3月8日
    200
  • Vue2.0怎样操作用户权限

    这次给大家带来Vue2.0怎样操作用户权限,Vue2.0操作用户权限的注意事项有哪些,下面就是实战案例,一起来看一下。 Vue-Access-Control是一套基于Vue/Vue-Router/axios 实现的前端用户权限控制解决方案,…

    编程技术 2025年3月8日
    200
  • vue判断用户是否登录

    这次给大家带来vue判断用户是否登录,vue判断用户是否登录的注意事项有哪些,下面就是实战案例,一起来看一下。 通过判断该用户是否登录过,如果没有登录则跳转到login登录路由,如果登录则正常跳转。 一丶首先在用户登录前后分别给出一个状态来…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论