正则表达式验证用户名、密码、手机号码、身份证(推荐)

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

//用户名 + (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; } }

以上所述是小编给大家介绍的正则表达式验证用户名、密码、手机号码、身份证,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-12-30 18:17:07

正则表达式验证用户名、密码、手机号码、身份证(推荐)的相关文章

一段VB.NET代码,生成邮件,发送邮件,支持SMTP验证用户名密码.

smtp|发送邮件 可以生成邮件,可以发送邮件,稍做修改就可以写成一个com组件,在ASP里调用.以后我会整理成一个完整的. -------------------------------------------------------------------------------- '-------------------------------------------------'生成基本邮件格式(包括附件),发送邮件到SMTP服务器,'只能发送到发件人SMTP服务器(需验证),直接投递功

jquery正则表达式验证(手机号、身份证号、中文名称)_jquery

本文实例需要验证的内容:中文姓名.手机号.身份证和地址,验证方法分享给大家供大家参考,具体内容如下 HTML(表单): <form action=""> <div class="form-group"> <label>姓名:</label> <input id="name" type="text"> </div> <div class="f

利用jQuery.Validate异步验证用户名是否存在(推荐)_jquery

HTML头部引用: <script type="text/JavaScript" src="../js/jQuery-1.3.2.min.js"></script> <script type="text/javascript" src="../js/jquery.validate.min.js"></script> <script type="text/javas

正则表达式限制 账号 密码 邮箱 身份证 手机号的相关代码_正则表达式

废话不多说了,直接给大家贴实现此功能的正则表达式代码了,具体代码如下所示: #import <Foundation/Foundation.h> int main() { // ? == {0,1} // * == {0,无穷} // + == {1,无穷} // \d == [0-9] // \w == [A-Za-z_0-9] // * 的意思是可有可无 // [a|b|c]+ 表示三个至少出现一次或多次 //检测电话号码是否正确 NSString *tel = @"";

ajax后台请求验证用户名密码是否正确

问题描述 //登录失败页面情况if(action!=null&&action=="Login"){if(context.Session["LoginInfo"]!=null){stringname=context.Request.Params["name"];stringpwd=context.Request.Params["pwd"];stringcode=context.Request.Params[&qu

php验证用户名是否以字母开头与验证密码实例_正则表达式

本文实例讲述了php验证用户名是否以字母开头与验证密码的方法.分享给大家供大家参考.具体如下: 验证用户名是否以字母开头与验证密码只能为数字和字母的组合代码,三种常用验证函数:验证邮箱地址格式 ,验证密码只能为数字和字母的组合以及验证用户名是否以字母开头代码,这是用户注册时或提交表单时会用的. 复制代码 代码如下: function is_email($email)  {    if (preg_match("/[a-za-z0-9]+@[a-za-z0-9]+.[a-z]{2,4}/"

JavaScript正则表达式验证代码(推荐)

RegExp:是正则表达式(regular expression)的简写. 正则表达式描述了字符的模式对象.可以使用正则表达式来描述要检索的内容. 简单的模式可以是一个单独的字符.更复杂的模式包括了更多的字符,并可用于解析.格式检查.替换等等. //判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length==0){ alert('对不起,文本框不能为空或者为

JavaScript正则表达式验证代码(推荐)_正则表达式

RegExp:是正则表达式(regular expression)的简写. 正则表达式描述了字符的模式对象.可以使用正则表达式来描述要检索的内容. 简单的模式可以是一个单独的字符.更复杂的模式包括了更多的字符,并可用于解析.格式检查.替换等等. //判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length==0){ alert('对不起,文本框不能为空或者为

正则表达式验证身份证号码和邮箱、判断checked选中状态

项目中正好写到登录注册,在用blur事件验证用户输入内容的时候,出现了点bug,最后是在注册按钮onclick的事件里获取用户输入值来验证的. 判断checked选中状态: if(!$('#checkedAgree').prop("checked"){ console.log('no');//未选中 }else{ console.log('yes');//选中 } //注册 $(".regBtn").on('click',function(){ var regUse