js 正则表达式(reg)
一、RegExp对象方法:
1.exec() 检索字符串中指定的值,并返回值(找不到返回null)
效果:
<textarea name="content" id="content" cols="20" rows="10"></textarea><input type="button" onclick="regTest()" value="查找">
<script type="text/javascript">
function regTest(){
var content = document.getElementById("content").value;
var regExp = /(\d){4}/gi;
while(res = regExp.exec(content)){
console.log("找到"+res[0]);
} } </script>
2.test() 检索字符串中指定值,返回true或false
效果:
<textarea name="content" id="content" cols="20" rows="10"></textarea><input type="button" onclick="regTest()" value="查找">
<script type="text/javascript">
function regTest(){
var content = document.getElementById("content").value;
var regExp = /(\d){4}/gi;
if(regExp.test(content)){
console.log("找到了");
} } </script>
3.属性
index、leftContext 、rightContext
<script type="text/javascript">
var str= "abcd4564hui454s0ss4894d7937asda";
var myreg = /(\d){4}/gi;
while(res = myreg.exec(str)){
console.log("index="+RegExp.index + " leftContext="+RegExp.leftContext+" rightContext="+RegExp.rightContext)
} </script>
在chrome中的效果:(index属性在chrome,firefox,opera中都是不支持的)
在ie中的效果:
二、String类型对象的正则表达式用法
1.search
返回所要找的元素在字符串中的位置
var str= "abcdhuisd";
console.log(str.search(/dhu/));
返回:3
2.match 可以在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,返回的是指定的值,是一个数组
<script type="text/javascript">
var str= "abcd4564hui454s0ss4894d7937asda";
var myreg = /(\d){4}/gi;
res = str.match(myreg);
for(var i = 0;i<res.length;i++){
console.log(res[i]);
} </script>
3.replace 正则替换
<script type="text/javascript">
var str= "abcd4564hui454s0ss4894d7937asda";
var myreg = /(\d){4}/gi;
res = str.replace(myreg,"四个数字");
console.log(res); </script>
4.split 分割成数组:
<script type="text/javascript">
var str= "abcd4564hui454s0ss4894d7937asda";
var myreg = /(\d){4}/gi;
res = str.split(myreg);
console.log(res); </script>
或者:
<script type="text/javascript">
var str= "abcd4564hui454s0ss4894d7937asda";
var myreg = /(\d){4}/gi;
res = str.split("");
console.log(res); </script>
3.例题:
在一个子串中找到一个四位数,第一位和第四位相等,第二位和第三位相等,如1221
<script type="text/javascript">
var str= "abcd4564hui5665ss8899d7937asda";
var myreg = /(\d)(\d)\2\1/gi;
while(res = myreg.exec(str)){
console.log(res[0])
} </script>
找到一个字串中如aabbccdd的子串
<script type="text/javascript">
var str= "abcd4564hui11223344ss8899d7937asda";
var myreg = /(\d)\1(\d)\2(\d)\3(\d)\4/gi;
while(res = myreg.exec(str)){
console.log(res[0])
} </script>
js 正则表达式(reg)的更多相关文章
- JS正则表达式大全
转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...
- JS正则表达式大全(整理详细且实用)
JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...
- 快乐的JS正则表达式(二)
在上一篇中介绍了一个test方法,在本文中将使用另外一个,exec方法可以找到匹配的结果并且返回结果以及位置.exec("正则"): 简单测试: var str = "{ ...
- JS正则表达式获取字符串中特定字符
JS正则表达式获取字符串中得特定字符,通过replace的回调函数获取. 实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test 实 ...
- 【正则】精通JS正则表达式,没消化 信息量太大,好文
http://www.jb51.net/article/25313.htm 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用 ...
- (转)js正则表达式之中文验证
今天做表单提交的输入框条件验证,验证是否包含中文:网上搜了一圈基于js正则表达式的验证基本不好用,而且大多都是出自一两篇原文的转帖!到底什么才是拿来主义呢.根据搜索结果,本文取精华,告诉大家一个好用的 ...
- JS正则表达式---分组
JS正则表达式---分组 之前写了一篇关于正则新手入门的文章,本以为对正则表达式相对比较了解 但是今天我又遇到了一个坑,可能是自己不够细心的原因吧,今天就着重和大家分享一下javascript正则表达 ...
- JS 正则表达式否定匹配(正向前瞻)
引言:JS 正则表达式是 JS 学习过程中的一大难点,繁杂的匹配模式足以让人头大,不过其复杂性和其学习难度也赋予了它强大的功能.文章从 JS 正则表达式的正向前瞻说起,实现否定匹配的案例.本文适合有一 ...
- js正则表达式中test,exec,match方法的区别说明
js正则表达式中test,exec,match方法的区别说明 test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var ...
- js正则表达式【原】
js正则表达式 http://www.w3school.com.cn/js/js_obj_regexp.asp js常用正则表达式 我的自测样例 <HTML> <HEAD> & ...
随机推荐
- console对象的理解
console对象代表浏览器的JS控制台,虽然不是标准,但已经成为事实的标准 console对象的作用 a.显示代码运行错误信息 b.提供一个命令行接口,用来与网页互动 console对象拥有很多方法 ...
- ADT
1.什么是antant是构建工具2.什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3.ant的好处跨平台 --因为 ...
- Win10安装Mongodb,并配置成服务
好吧,今天突然发现新买的surface上没有安装mongodb,然后想着安装一下,顺便记录一下,虽说安装过程很简单 一:下载安装,然后拷贝到C盘根目录,这个就不多说了,比QQ都简单. 二:把bin文件 ...
- 【转】jvm 堆内存 栈内存 大小设置
原文地址:http://blog.csdn.net/qh_java/article/details/46608395 4种方式配置不同作用域的jvm的堆栈内存! 1.Eclise 中设置jvm内存: ...
- 数据库架构设计的三种模式:share nothing , share everythong , share disk
数据库构架设计中主要有Shared Everthting.Shared Nothing.和Shared Disk: Shared Everthting:一般是针对单个主机,完全透明共享CPU/MEMO ...
- 基于ZKEACMS的.Net Core多租户CMS建站系统
多租户架构 多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下共用相同的系统或程序组件,并且可确保各用户间数据的隔离性.简单讲:在一台服务器上运行单个应用实例,它为 ...
- .Net Core 自动化部署:使用jenkins部署到linux docker容器运行
上次我们说到.Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用,这次我们使用jenkins发布我们的.NET Core站点到docker容器中运行,为后面的的 ...
- 二十二、Node.js-get&post
get: 前台代码: <body> <h1>登录</h1> <form action="/dologin" method="ge ...
- 936. Stamping The Sequence
You want to form a target string of lowercase letters. At the beginning, your sequence is target.len ...
- “全栈2019”Java第五十三章:向上转型和向下转型详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...