文档章节

正则验证

liunx_
 liunx_
发布于 2017/09/03 10:18
字数 580
阅读 6
收藏 1

验证图片: ^\w+\.(jpg|gif|bmp|png)$

验证上传文档(字数在3到12个): ^(([\u4e00-\u9fa5]{3,12})|(\w{3,12}))*\.(docx|pdf)$

验证手机号:^1[3,4,5,7,8]\d{9}$

            ^1[3|4|5|8][0-9]\d{8}$

                    ^(135|138|152|155|180)\d{4,11}$

常用正则表达式规则

作用 正则规则
中文字符 [\u4e00-\u9fa5]
双字节字符(包括汉字在内) [^\x00-\xff]
空白行 \n\s*\r
Email地址 [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
网址URL [a-zA-z]+://[^\s]*
国内电话号码 \d{3}-\d{8}|\d{4}-\{7,8}
中国邮政编码 [1-9]\d{5}(?!\d)
18位身份证号 ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$

 

转义语法:\特殊符号

[abc]:表示匹配abc中的任意一个字符就算匹配到

[^abc]:表示除了abc之外的任意一个字符就算匹配成功   a2 

[0-9]:表示匹配到0-9之间的任意一个数字就算匹配到

[^0-9]:表示匹配任意一个非数字的字符就算匹配成功

[a-z]:表示匹配任意一个小写字母就算匹配成功

[a-zA-Z]:表示匹配任意一个字母就算匹配成功

[^a-zA-Z]:表示除了字母之外的其他任意一个字符就算匹配成功

1.2 预定义字符

\d:表示数字[0-9]

\D:表示非数字[^0-9]

\w:表示字母数字下划线组成的任意字符 等同于[a-zA-Z0-9_]

\W:除了字母数字或汉字  下划线其他的任意字符

.:除了换行符和行结束符的任意字符

\s:表示匹配空白字符

\S:表示非空白字符

\b:表示单词边界

\B:表示非单词边界 

1.3 限定符

X?:表示X出现0次或者一次

X*:表示X出现0次或者是多次

X+:表示X出现1次或者是多次

X{m}:表示X刚好出现m次

X{m,}:表示X至少出现m次

X{m,n}:表示X至少出现m次,但是不超过n次

1.4 定位符

^:表示以什么开始  ^\d:表示以数字开始

$:表示以什么结束  \d$:表示以数字结束  

开始符和结束符在表单验证里用得很多

\b:表示单词的边界

1.5 选择匹配符

A|B:表示匹配A或者是B

 

© 著作权归作者所有

共有 人打赏支持
liunx_
粉丝 0
博文 20
码字总数 29282
作品 0
成都
程序员
MVVM架构~knockoutjs系列之正则表达式使规则更灵活

几乎每种验证架构都会有正则表达式的加盟,一般地,一种验证架构首先会提供一些标准的,常用的验证规则,它们通常是数字验证,电话验证,email验证,长度验证,范围验证,日期验证等,而如果...

mcy247
2017/12/06
0
0
java语言中的----正则表达式

day14 java语言中的----正则表达式 一、概述: 正则表达式在Java语言中也算是一个比较重要的模块,前面我们学习了一些关于正则表达式的基础,在登录注册功能中使用比较广泛,所以说在这儿我就...

孤独一夜
2017/10/08
0
0
夜是美/form-fast-validator

[TOC] Form-fast-validator 一个快速创建表单验证的异步 (Promise) 策略库。 特性 组合异步验证(Promise) 模块化 高度可扩展 快捷事件方法 生命周期钩子 内置了常用的策略验证和正则库 压缩...

夜是美
2017/11/20
0
0
如何判断用户浏览器以及一些前端常用的正则表单验证

前言 在我们做用户授权登录(微信,qq授权),以及根据对应浏览器做对应的操作的时候,经常会遇到需要判断用户使用的浏览器的需求,以及在需要用户输入信息的时候,有需要验证的一些正则。如果喜...

OBKoro1
05/07
0
0
mint-validate 轻量 验证工具包

工具包的结构 本工具下载地址:http://git.oschina.net/895925636/mint-validate 收录地址:http://www.oschina.net/p/mint-validate 工具包中有4个主要类,他们是Valid, Verifiable, Verifi...

水牛叔叔
2014/11/22
0
15

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
1
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部