前端正则表达式书写及常用的方法
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
前端正则表达式书写
一.写法
写法一
/正则表达式/修饰符
修饰符
- /i (忽略大小写)
- /g (全文查找出现的所有匹配字符)
- /m (多行查找)
- /gi(全文查找、忽略大小写)
- /ig(全文查找、忽略大小写)
例子:/a/gi 查找内容中的a
不写修饰符默认只匹配一个
写法二
let a = new RegExp('/正则表达式/','修饰符')
二.常用几个方法
1.match
方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
返回的内容
["匹配到的内容", index: 3, input: "字符串对象", groups: undefined]
如果regexp修饰符为/g则返回对象为一个数组
语法:
1.stringObject.match(str)
2.stringObject.match(regexp)
拿查找字符串abc 中的a举例
'aabc' .match('a') 只匹配第一个 'aabc' .match(/a/) 只匹配第一个
2.replace
用于字符串中一些字符替换另一些字符,或替换一个与正则表达式相匹配的子串
语法:
1.stringObject.replace('查找的第一个字符串','修改后的字符串')
2.stringObject.replace(regexp(正则表达式匹配到的内容所有替换),'修改后的字符串')
3.search
他用法与match类似不过他返回的是索引
语法:
1.stringObject.match('searchvalue')
2.stringObject.match(regexp)
4.test
方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
语法:
regexp.test(stringObject)
如
/a/.test('a') #返回true /a/.test('ac') #返回true /a/.test('c') #返回false
5.exec
方法就是用来检索字符串中正则表达式的匹配,如果匹配到了那么就返回一个存放有结果的数组,如果没有匹配到就返回一个null
regexp.exec(stringObject)
其实和match类似,不过就是填写的位置返一下
但是有一点
console.log('c'.exec('c')); #会报错 console.log('c'.match('c')); #会匹配c
总结
以上所述是小编给大家介绍的前端正则表达式书写及常用的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
本文实例讲述了JS使用正则表达式获取小括号.中括号及花括号内容的方法.分享给大家供大家参考,具体如下: JS 正则表达式 获取小括号 中括号 花括号内的内容 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>www.jb51.net JS获取括号内容</title> </head> <body> <script
-
js正则表达式校验指定字符串的方法
最新一个小表单验证需求:"只能输入汉字,并且必须包含"支行","分行","银行","信用社""字样,需用正则表达式校验 故写出了如下的表达式 var patt1=new RegExp(/^[\u0391-\uFFE5]*(([\u652f]{1}[\u884c]{1})|([\u5206]{1}[\u884c]{1})|([\u94f6]{1}[\u884c]{1})|([\u4fe1]{1}[\u7528
-
Java使用正则表达式验证手机号和电话号码的方法
一个朋友需要,所以写了这两个,话不多说,看代码 中国电信号段 133.149.153.173.177.180.181.189.199 中国联通号段 130.131.132.145.155.156.166.175.176.185.186 中国移动号段 134(0-8).135.136.137.138.139.147.150.151.152.157.158.159.178.182.183.184.187.188.198 其他号段 14号段以前为上网卡专属号段,如中国联通的是145,中国移动的是147
-
Android 2018最新手机号验证正则表达式方法
下面给大家分享2018手机号正则表达式验证方法,具体内容如下所示: /** * 判断字符串是否符合手机号码格式 * 移动号段: 134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,183,184,187,188 * 联通号段: 130,131,132,145,155,156,170,171,175,176,185,186 * 电信号段: 133,149,153,170,173,177,180,181,189 * @par
-
Python 正则表达式匹配字符串中的http链接方法
利用Python正则表达式匹配字符串中的http链接.主要难点是用正则表示出http 链接的模式. import re pattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+') # 匹配模式 string = 'Its after 12 noon, do you know where your rooftops are? http://tinyur
-
python正则表达式去除两个特殊字符间的内容方法
以去掉去掉<!--和-->为例进行说明: def clearContentWithSpecialCharacter(content): # 先将<!--替换成,普通字符l content = content.replace("<!--","l") # 再将-->替换成,普通字符l content = content.replace("-->","l") # 分组标定,替换, pattern
-
Python实现正则表达式匹配任意的邮箱方法
首先来个简单的例子,利用Python实现匹配163邮箱的代码: #-*- coding:utf-8 -*- __author__ = '杨鑫' import re text = input("Please input your Email address:\n"): if re.match(r'[0-9a-zA-Z_]{0,19}@163.com',text): print('Email address is Right!') else: print('Please reset you
-
正则表达式性能优化方法(高效正则表达式书写)
这里说的正则表达式优化,主要是针对目前常用的NFA模式正则表达式,详细可以参考:正则表达式匹配解析过程探讨分析(正则表达式匹配原理).从上面例子,我们可以推断出,影响NFA类正则表达式(常见语言:GNU Emacs,Java,ergp,less,more,.NET语言, PCRE library,Perl,PHP,Python,Ruby,sed,vi )其实主要是它的"回溯",减少"回溯"次数(减少循环查找同一个字符次数),是提高性能的主要方法. 我们来看个例子:
-
前端正则表达式书写及常用的方法
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. 前端正则表达式书写 一.写法 写法一 /正则表达式/修饰符 修饰符 /i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) /gi(全文查找.忽略大小写) /ig(全文查找.忽略大小写) 例子:/a/gi 查找内容中的a 不写修饰符默认只匹配一个 写法二 let a = new Reg
-
ExtJS4的文本框(textField)使用正则表达式进行验证(Regex)的方法
Extjs的Regex的验证属性分两种情况,一种是只有红色提示框:另一种是在提示框边会出现一个类似批注的提示信息,不过在页面加载时要加上Ext.QuickTips.init();提示框才能正常显示出来. 特别提示:在属性regex后要用 /^ 这里加正则 $/ 把上面的正则表达式包起来否则会报"缺少对象": 比如: 复制代码 代码如下: { xtype:'textfield', fieldLabel: '邮政编码', name:'postCode', regex: /^[1-9]\d{
-
js正则表达式中test,exec,match方法的区别说明
js正则表达式中test,exec,match方法的区别说明 test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var reg = new RegExp("1.", "");alert(reg.test(str)); // true exec exec 查找并返回当前的匹配结果,并以数组的形式返回.var str = "1a1b1c";var reg = new R
-
moq 的常用使用方法(推荐)
Moq,就是Mock you.读音可以读成Mock~you.是Mock框架的一种.用于测试中的Mock测试.Mock是模拟的意思.Mock是模拟对象的一种技术. 测试方法 // 准备 Mock IFoo 接口 var mock = new Mock<IFoo>(); // 配置准备模拟的方法,当调用接口中的 DoSomething 方法,并传递参数 "bing" 的时候,返回 true mock.Setup(foo => foo.DoSomething("p
-
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
本文实例讲述了CI框架封装的常用图像处理方法.分享给大家供大家参考,具体如下: 其实微信手机端上图时,列表图最好是缩略图,节省流量,这不,又被移动坑了一把,话费签一分就停机,流量欠到90块才停机,我也是醉了... 不说废话了,下面是用CI 的内置处理图像的库写的,小弟不才,遗漏之处敬请指出,谢谢. /** * 生成缩略图 * @param $path 原图的本地路径 * @return null 创建一个 原图_thumb.扩展名 的文件 * */ public function dealthu
-
C# 常用公共方法
C# 常用公共方法,具体内容如下 1.后台调用weburl string hostUrl = "http://www.a.com?id=123" ; HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(hostUrl); myReq.Method = "GET"; HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse(); Strea
-
Mysql 数据库常用备份方法和注意事项
Mysql数据库备份的常用3种方法: 1.直接拷贝(cp.tar,gzip,cpio) 2.mysqldump 3.mysqlhotcopy 1.使用直接拷贝数据库备份 典型的如cp.tar或cpio实用程序. 当你使用直接备份方法时,必须保证表不在被使用.如果服务器在你正在拷贝一个表时改变它,拷贝就失去意义. 保证你的拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重启服务器.如果你不想关闭服务器,要在执行表检查的同时锁定服务器.如果服务器在运行,相同的制约也适用于拷贝文件,而且你应该使用相同
-
web前端页面生成exe可执行文件的方法
在 HTML5的崛起.JavaScript要一统天下之际,有一个名为[跨平台]的技术越来越火.为什么会这么火?因为软件开发者只需一次编写程序,即可在 Windows.Linux.Mac.IOS.Android 等平台运行,大大降低了程序员的工作量,也使公司的产品可以快读迭代.曾经跨平台技术的不被看好,如今随着手机.电脑硬件的发展而快速发展.这一切,几乎由HTML5技术推动,当然,JavaScript 这个语言,是最大的功臣. 基于 HTML5 的跨平台技术比较出名的有 PhoneGap.Cord
-
Python使用正则表达式分割字符串的实现方法
如下: re.split(pattern, string, [maxsplit], [flags]) pattern:表示模式字符串,由要匹配的正则表达式转换而来. string:表示要匹配的字符串. maxsplit:可选参数,表示最大的拆分次数. flags:可选参数表示标志位,用于控制匹配方式,如是否区分子母大小写 示例代码: import re pattern = r'[?|&]' # 定义分隔符 url = 'http://www.baidu.com/login.jsp?usernam
-
详解Pymongo常用查询方法总结
Python 直接连接mongodb数据库进行查询操作 1.安装所需模块 使用到的是pymongo模块,安装方法:pip install pymongo 2.环境验证 3.连接数据库 import pymongo def operating_mongodb(): client = pymongo.MongoClient('ip_address', port) db_auth = client.database db_auth.authenticate("username", "
随机推荐
- Java使用synchronized修饰方法来同步线程的实例演示
- JavaScript继承模式粗探
- this connector is disabled错误的解决方法
- thinkPHP中多维数组的遍历方法
- jquery.form.js异步提交表单详解
- 360浏览器文本框获得焦点后被android软键盘遮罩该怎么办
- 基于mysql多实例安装的深入解析
- 客户端验证用户名和密码的方法详解
- php+html5基于websocket实现聊天室的方法
- jQuery实现获取元素索引值index的方法
- 集中化管理平台Ansible详解
- 基于JavaScript实现微信抢红包功能
- centos6.5中安装mongodb简明总结
- JavaScript交换两个变量值的七种解决方案
- jQuery CSS()方法改变现有的CSS样式表
- 为你的网站增加亮点的9款jQuery插件推荐
- Java 单例模式线程安全问题
- Android Application存取公共数据的实例详解
- C#实现把彩色图片灰度化代码分享
- PHP clearstatcache()函数详解