JavaScript中提供了一个名为RegExp的对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp对象实例。

在JavaScript中,有两种方式可以创建RegExp对象的实例:

(1)使用RegExp对象的显示构造函数,语法为:new RegExp("pattern"[,"flags"])

(2)使用RegExp对象的隐式构造函数,采用纯粹的文本格式:/pattern/[flags]

pattern部分为要使用的正则表达式模式文本,是必须的。在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号引起来;在第二种方式中,pattern部分嵌套在两个“/”字符之间,不能使用引号引起来。flags部分设置正则表达式模式的标志信息,是可选的,可以是以下标志字符的组合:

g 用作全局(global)标志。如果设置了g这个标志,使用这个正则表达式模式对某个文本执行搜索和替换操作时,将对文本中所有匹配的部分起作用。

i 用作忽略大小写(case-insensitive)标志。如果设置了i这个标志,进行匹配比较时,将忽略大小写。

m 用作多行(multiline)标志。如果没有设置m这个标志,那么元字符“^”只与整个被搜索字符串的开始位置相匹配,而元字符“$”只与整个被搜索字符串的结束位置相匹配。如果设置了m这个标志,那么“^”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行首)相匹配,而“$” 还可以与被搜索字符串中的“\n”或“\r”之前的位置(即一行的行尾)相匹配。

下面是在javascript程序中应用正则表达式的一些典型案例:

1.将一个字符串中的所有的两位数字的十位和个位交换:

<script language="javascript">var strSrc = "a12b34c56";var re = /(\d)(\d)/gi;var strDest = strSrc.replace(re,"$2$1");alert(strSrc + " has been converted into " + strDest);</script>

2.使用正则表达式验证身份证和提取年月日:

说明:身份证要么是15位,要么是18位,前面的每位都为数字,最后一位可以为字母,从7位到第14位为出生年月。

<script language="javascript">function verify(idcard){var datePattern = new RegExp("^\\d{6}(19\\d{2}|20\\d{2})(0[1-9]|1[0-2])(0[1-9]|[1-2]\\d|3[0-1])(\\d{3})?[\\da-zA-Z]$");if(datePattern.test(idcard)){alert(idcard + "为有效身份证,出生年月为"+ RegExp.$1 + "-" + RegExp.$2 + "-" + RegExp.$3);}else{alert(idcard + "为无效身份证");}}</script>

请输入身份证:<input type="text" value="422413191803060318" οnblur="verify(this.value)"/>

3.使用正则表达式去掉字符串两端的所有空格:

说明:javascript中的字符串没有去掉两端空格的功能,可以用prototype属性为String类扩展一个trim方法,以后的String类都可以使用这个trim方法来去掉两端的空格了。

String.prototype.trim = function(){return this.replace(/^\s+|\s+$/g,"");}; alert("  aaa  ".trim());   

转载于:https://www.cnblogs.com/ningvsban/p/3427766.html

【js】正则表达式(II)相关推荐

  1. java 正则 尖括号_使用JS正则表达式替换括号,尖括号等

    如下所示:function toTxt(str) { var RexStr = /\|\"|\'|\&/g str = str.replace(RexStr, function(Ma ...

  2. JS正则表达式验证数字非常全 - 吾心无所 - 博客园

    JS正则表达式验证数字非常全 Js代码 <script type="text/javascript"> function SubmitCk() { var reg = ...

  3. JS正则表达式大全(整理详细且实用)

    JS正则表达式大全(整理详细且实用) 作者: 字体:[增加 减小] 类型:转载 时间:2013-11-14 我要评论 JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助 ...

  4. js正则表达式匹配span标签

    1.js正则表达式匹配span标签 const spans = htmlStr.match(/<span (.*?)>(.*?)<\/span>/g) 2.js正则表达式–获取 ...

  5. js 字符串替换_正则精要:玩转JS正则表达式,也许只需这一篇(建议收藏)

    0.导引 在正文开始前,先说说正则表达式是什么,为什么要用正则表达式?正则表达式在我个人看来就是一个程序可以识别的规则,有了这个规则,程序就可以帮我们判断某些字符是否符合我们的要求.但是,我们为什么要 ...

  6. html 正则表达式验证金额,js金额校验,js正则表达式,包含正负,小数点后两位...

    js金额校验,js正则表达式,包含正负,小数点后两位,js代码如下: function isMoney(s) { //金额 只允许正数 //var exp = /(^[1-9]([0-9]+)?(\. ...

  7. js 常用js正则表达式大全

    一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字:^d{m,n}$ 5 零和非零开头的数字:^(0|[1- ...

  8. 手机号判断正则php2019,2019手机号码JS正则表达式验证实例代码

    概念 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的 ...

  9. js 正则表达式判断价格

    js 正则表达式判断价格 验证价格的正则 var reg = /(^1-9?(.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9].0-9?$)/; var money = 520.1 ...

  10. js正则表达式匹配字符串与优化过程

    前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...

最新文章

  1. 踩到一个Emit的坑,留个纪念
  2. oracle数据库怎么导出dat文件_oracle导入导出dmp文件(详细步骤)
  3. maven + bat 实现快速编译打包模块代码
  4. sap abap好用的函数
  5. jQuery 常用方法总结
  6. python安装成功第三方库但import出问题_解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程...
  7. python模块:运行机制与编写方法
  8. ubuntu中安装apache ab命令进行简单压力测试
  9. Maxim推出上/下变频SiGe混频器MAX2042
  10. ABAP - 3D Graphs with SAP
  11. 第 25 章 Build tool
  12. MyBatis框架的基本使用
  13. K8S学习--Kubeadm-3-dashboard部署和升级
  14. 收集五款常用的HTML编辑软件
  15. 盘点vivo手机的HiFi之路 极致的信仰
  16. 中国区块链年度报告发布,腾讯竞争力排名第一!
  17. Ubuntu音乐播放器
  18. 在种子轮中,如何区分风险投资、种子投资和天使投资?
  19. 虚拟机中CentOS 7安装过程
  20. JavaScript资源大全中文版(Awesome最新版)

热门文章

  1. pip 错误:ModuleNotFoundError: No module named pip
  2. Android开发笔记(七十五)内存泄漏的处理
  3. Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用
  4. Exchange Server 2010部署安装之一
  5. 深入浅出LVM on linux
  6. Oracle 11g R2 X64数据库安装
  7. 自动化测试框架的搭建
  8. Linux操作系统使用基础04:文件与目录管理
  9. python调用scp上传目录_Python调用scp向服务器上传文件示例
  10. SpringMvc-@ModelAttribute注解