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

废话不多说了,直接给大家贴实现此功能的正则表达式代码了,具体代码如下所示:

#import <Foundation/Foundation.h>
int main() {
// ? == {0,1}
// * == {0,无穷}
// + == {1,无穷}
// \d == [0-9]
// \w == [A-Za-z_0-9]
// * 的意思是可有可无
// [a|b|c]+ 表示三个至少出现一次或多次
//检测电话号码是否正确
NSString *tel = @"";
//正则表达式
NSString *regex = @"^\\d*$";
// NSString *regex = @"^[0-9]{3,4}-[0-9]{7,8}$";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex];//创建需要满足上面的正则表达式的谓词
NSLog(@"该电话号码:%d",[predicate evaluateWithObject:tel]);
//用户名 (第一位必须是字母,6-16位,只能有字母,数字或下划线)
NSString *user = @"m54355";
NSString *regex1 = @"^[A-Za-z]\\w{5,15}$";
NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex1];
// NSLog(@"该电话号码:%d",[predicate1 evaluateWithObject:user]);
// //身份证
// NSString *user1 = @"610125199301300814";
// NSString *regex2 = @"^\\d{17}[\\dxX]$";
// NSPredicate *predicate2 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex2];
// NSLog(@"该身份证:%d",[predicate2 evaluateWithObject:user1]);
//邮箱
NSString *mailbox = @"101707383@qq.com";
NSString *regex3 = @"^[a-zA-Z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$";
NSPredicate *predicate3 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex3];
// NSLog(@"该邮箱:%d",[predicate3 evaluateWithObject:mailbox]);
//手机号
// NSString *phone = @"18709259205";
// NSString *regex4 = @"^1[3|4|5|7|8]\\d{9}$";
// NSPredicate *predicate4 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex4];
// NSLog(@"该手机:%d",[predicate4 evaluateWithObject:phone]);
if ([predicate1 evaluateWithObject:user] == 1) {
if ([predicate3 evaluateWithObject:mailbox] == 1) {
NSLog(@"登录成功");
}
}else{
NSLog(@"错误");
}
return 0;
}
(0)

相关推荐

  • python使用正则表达式检测密码强度源码分享

    复制代码 代码如下: #encoding=utf-8#-------------------------------------------------------------------------------# Name:        模块1# Purpose:## Author:      Administrator## Created:     10-06-2014# Copyright:   (c) Administrator 2014# Licence:     <your lic

  • JS判断输入的字符串是否是数字的方法(正则表达式)

    实例如下: if (!checkNumber(gopage_val)) { alert("请输入正确页数(数字)"); return false; } //验证字符串是否是数字 function checkNumber(theObj) { var reg = /^[0-9]+.?[0-9]*$/; if (reg.test(theObj)) { return true; } return false; } 以上这篇JS判断输入的字符串是否是数字的方法(正则表达式)就是小编分享给大家的全

  • 最新密码验证正则表达式

    正则表达式验证密码功能在项目中经常被使用到,但是很多朋友还是不大会使用密码正则表达式进行验证,本文小编为大家整理了php密码验证正则表达式.python密码强度正则,当然还有大家常用到的js正则表达式,希望大家喜欢. 刚开始复习一下,什么是正则表达式? 在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码. php密码验证正则表达式(8位长度限制) <?php //密码验证 $password

  • jQuery使用正则表达式限制文本框只能输入数字

    网站中的一个小功能:要求用户只能输入16位数字. 试过javascript的方法: 如:一种方法: //只允许输入数字 function checkkey2(value, e) { var key = window.event ? e.keyCode : e.which; if ((key > 95 && key < 106) || (key > 47 && key < 60)) { } else if (key != 8) { if (window

  • jquery 正整数数字校验正则表达式

    限制用户输入的内容可以有如下做法: $("#id").keyup(fucntion(){//当键盘按下之后立即校验,并替换当前操作框中的内容 var value = $(this).val(); $(this).val(value.replace(reg,replace_data)); }); 最常见的就是限制用户只能录入数字 var reg = new RegExp("[^0-9]","g");  [^0-9]表示非0-9之间的数字,g表示全局

  • 正则表达式匹配用户密码

    密码形式可以根据开发需求自己设定,下面是几个匹配密码的例子: 正则表达式 ^[a-zA-Z]\w{5,17}$ 匹配 以字母开头,长度在6~18之间,只能包含字符.数字和下划线 不匹配 正则表达式 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$ 匹配 1agdA*$# | 1agdA*$# | 1agdA*$# 不匹配 wyrn%@*&$# f | mbndkfh782 | BNfhjdhfjd&*)%#$) 正则表达式 [^A-Za-z0-9

  • 正则表达式实现匹配连续数字的方法

    实现的要求如下: 纯数字 5-7位之间 前三位相同 从第四位开始连续 如下面的例子: 11123 #正确 22234 #正确 33345 #正确 333456 #正确 2223456 #正确 0001234 #正确 00012345 #错误:此行长度超标 000234 #错误:第3位与第4位不连续 111235 #错误:第5位和第6位不连续 1.匹配三位相同数字 (\d)\1{2} 2.匹配连续数字 匹配连续数字可以通过零宽断言来匹配,当然也没什么好办法,只能通过列举,如下两行都可以匹配3位连续

  • Javascript校验密码复杂度的正则表达式

    目前使用的正则表达式如下: 复制代码 代码如下: (?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30} 对应的验证规则是:密码中必须包含字母.数字.特称字符,至少8个字符,最多30个字符. 这个正则表达式在C#可以正常使用,但是在Javascript中却有问题. 请问是在js中如何写这样的正则表达式? 测试字符串:a123456- 解决方法如下所示: 把\d改为[0-9]问题就解决了,正则表达式如下: 复制代码 代码如下: var regex = new

  • 浅析一个匹配数字和字母密码的正则表达式

    一个用户注册功能的密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间. 如何分析需求?拆分!这就是软件设计的一般思路了.于是乎,拆分需求如下: 1,不能全部是数字 2,不能全部是字母 3,必须是数字或字母 只要能同时满足上面3个要求就可以了,写出来如下: ^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$ 分开来注释一下: ^ 匹配一行的开头位置 (?![0-9]+$) 预测该位置后面不全是数字 (?![a-zA-Z]+$)

  • iOS 正则表达式判断纯数字及匹配11位手机号码的方法

    第一种使用正则表达式 判断 //是否是纯数字 + (BOOL)isNumText:(NSString *)str{ NSString * regex = @"(/^[0-9]*$/)"; NSPredicate * pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; BOOL isMatch = [pred evaluateWithObject:str]; if (isMatch)

  • php password密码验证正则表达式(8位长度限制)

    复制代码 代码如下: <?php //密码验证 $password = "zongzi_Abc_oo13a2"; $n = preg_match_all("/^[a-zA-Z\d_]{8,}$/",$password,$array); //长度是8或更多 var_dump($array); ?>

  • JS正则表达式匹配检测各种数值类型(数字验证)

    验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^\d

随机推荐