一、正则表达式基本语法

1. 两个特殊的符号‘^’和‘$’。他们的作用分别指出一个字符串的开始和结束。

2. 其他还有‘*’,‘+’,‘?’这三个符号,表示一个或一序列字符重复出现的次数

"ab{2}"  ---表示一个字符串有一个a后面跟着2个b(“abb”);

"ab{2,}"  ---表示一个字符串有一个a后面跟着至少2个b;

"ab{3,5}"  ---表示一个字符串有一个a后面跟着3到5个b;

“ab*” == ab{0,}

"ab+" == ab{1,}

"ab?" == ab{0,1}

请注意,你必须指定范围的下限,如{0,2},而不是{,2};

3. 还有一个“|表示“或”操作

"hi¦hello":表示一个字符串里有"hi"或者"hello";
"(b¦cd)ef":表示"bef"或"cdef";
"(a¦b)*c":表示一串"a""b"混合的字符串后面跟一个"c";

4. “."可以替代任何字符

“a.[0-9]”  :表示一个字符串有一个a后面跟这个一个任意字符和一个数字

"^.3$": 表示有任意三个字符的字符串,长度为3个字符s

5. 正则表达式验证控制文本框的输入字符类型
1.只能输入数字和英文的: 
<input οnkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1">

2.只能输入数字的: 
<input οnkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2">

3.只能输入全角的: 
<input οnkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" ID="Text3" NAME="Text3">

4.只能输入汉字的: 
<input οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" ID="Text4" NAME="Text4">

6. 正则表达式的应用实例通俗说明

//检验是否全由数字组成

:  /^[0-9]{1,20}$/

这里,

^表示打头的字符要匹配紧跟^后面的规则

$表示打头的字符要匹配紧靠$前面的规则

[]中的内容是可选字符集

[0-9]表示要求字符范围在0-9之间

{1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20次

/^和$/成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串;

****************************************************************

//校验登录名:只能输入5-20个以字母开头,可带数字,下划线和‘.’的字符串

/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/

这里,它要求是由大小写字母、数字或者特殊字符集[._]组成

******************************************************************

//校验用户姓名:只能输入1-30个以字母开头的字符串

/^[a-zA-Z]{1,30}$/

*******************************************************************

//校验密码:只能输入6-20个字母、数字、下划线

/^(\w){6-20}$/

这里,\w:用于匹配字母,数字或下划线字符

*******************************************************************

//校验普通电话、传真号码:可以“+”或数字开头,可含有“-” 和 “ ”

/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/

 

\d:用于匹配从0到9的数字;

“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次

 

可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等

转载于:https://www.cnblogs.com/xiaoxingyiyi/p/5403636.html

正则表达式的基本入门相关推荐

  1. 转载:正则表达式30分钟入门教程

    正则表达式30分钟入门教程 版本:v2.21 (2007-8-3) 作者:deerchao 来源:unibetter大学生社区 转载请注明来源 目录 本文目标 如何使用本教程 正则表达式到底是什么? ...

  2. 【Python基础】Python正则表达式,从入门到实战,精华都在这里!

    出品:Python数据之道(ID:PyDataLab) 作者:Peter,来自读者投稿 编辑:Lemon 玩转正则表达式 本文中介绍的是主要是 3 个知识点: 正则表达式的相关知识 Python的中 ...

  3. 正则表达式30分钟入门教程(转)

    分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 首页 | 正则表达式3 ...

  4. [.net 面向对象程序设计进阶] (2) 正则表达式 (一) 快速入门

    [.net 面向对象程序设计进阶] (2) 正则表达式 (一) 快速入门 1. 什么是正则表达式? 1.1 正则表达式概念 正则表达式,又称正则表示法,英文名:Regular Expression(简 ...

  5. 正则表达式30分钟入门教程--deerchao

    原文地址:http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html 原文作者:deerc ...

  6. (转载)正则表达式30分钟入门教程

    (转载)正则表达式30分钟入门教程  作者:deerchao 来源:unibetter大学生社区 转载请注明来源  什么是正则表达式?  很可能你使用过Windows/Dos下用于文件查找的通配符,也 ...

  7. 超Easy正则表达式实战教程---入门 :匹配多种形式浮点数

    超Easy正则表达式实战教程-入门 :匹配多种形式浮点数 浮点数多种形式,包括如下: 3.6 , +3.14 , -3.14 , .7 正确匹配上述浮点数,正确姿势如下: ~ [+-]?[0-9]+. ...

  8. 【D1N910】正则表达式30分钟入门教程 (一)-学习笔记 实践

    目录 一.正则表达式介绍 二.bilibili正则表达式入口 三.正则表达式入门 四.元字符表 五.字符转义 正常操作,正常分析,大家好,我是D1n910 本文学习自 正则表达式30分钟入门教程 ht ...

  9. 【D1N910】正则表达式30分钟入门教程 (二)-学习笔记 实践

    正常操作,正常分析,大家好,我是D1n910. 本文学习自 正则表达式30分钟入门教程 http://deerchao.net/tutorials/regex/regex.htm 书接上文 六.重复 ...

  10. 正则表达式30分钟入门教程、常用正则表达式

    From:http://deerchao.net/tutorials/regex/regex.htm 正则表达式语言 - 快速参考:https://docs.microsoft.com/en-us/d ...

最新文章

  1. CentOS RPM安装MySQL 5.6修改默认密码
  2. mysqldump备份单表数据
  3. Mavan的配置,以及与IDEA版本不一致,解决办法
  4. 系统的MAC地址修改
  5. 三点顺序(计算几何)
  6. Python中的高阶函数map
  7. qml与HTML数据交互,GitHub - toby20130333/QtQuickHtmlBridge: 基于QtQuick的C++,qml,Html三者的Bridge交互...
  8. python去掉字符串最外侧的引号_疯狂Python讲义第二章读书笔记
  9. 图像处理-图像增强(二)
  10. 微软.NET程序员必上的网站
  11. VB 遍历指定目录及子目录所有文件函数
  12. EasyUi datagrid列表增加复选框
  13. 关于大规模 push 系统的解决方案
  14. .Net中的数字和日期格式化规则助记词
  15. Java使用mysql游标_Mysql游标使用
  16. matlab-博弈演化
  17. 二进制、八进制、十进制与十六进制的转换大全
  18. 单身职场人士怎么利用晚上时间提高自己?
  19. 人工智能热潮_团结与增强现实热潮
  20. 永磁同步电机(PMSM)最小损耗控制Simulink仿真

热门文章

  1. react hooks使用_如何使用React和Hooks检测外部点击
  2. java泛型的实现和原理_java 泛型实现原理
  3. 学习Python开发培训有用吗
  4. ASP.NET Core 2.2中的Endpoint路由
  5. (转)软件测试的分类软件测试生命周期
  6. do一下来了一个redux
  7. C# 算法系列一基本数据结构
  8. Mac homebrew类似apt-get命令安装包
  9. 写时复制,写时拷贝,写时分裂,Copy on write
  10. iOS中UISearchBar(搜索框)使用总结