一、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>

最新文章

  1. solr多条件查询(四)
  2. html 中绑定事件 this的指向
  3. MySQL 常用命令
  4. TMS320C54x系列DSP指令和编程指南&mdash;&mdash;第2章 通目标文件格式介绍
  5. VS2010在非IE浏览器下调试Silverlight程序
  6. uva1637Double Patience
  7. node c#
  8. POJ 2392 Space Elevator DP
  9. mysql升级后报Table &#39;mysql.servers&#39; doesn&#39;t exist
  10. 尚学堂Java第一课
  11. get最简单直接粗爆git与github教程
  12. [Swift]LeetCode966.元音拼写检查器 | Vowel Spellchecker
  13. Sql Server 获取本周周一
  14. Centos7搭建dhcp服务器
  15. springboot 2.0部署到Tomat8.5上
  16. array2json() - Convert PHP arrays to JSON
  17. 如何在Ubuntu 14.04 中使用Samba共享文件
  18. Python3爬虫:利用Fidder抓取手机APP的数据
  19. R语言-连接MySQL数据库方法
  20. lpm_clshift ip仿真

热门文章

  1. Ubuntu14.04下opencv卸载与重装
  2. 线上应用故障排查:高CPU占用
  3. loadrunner12-错误 -26366: 找不到 web_reg_find 的“Text=19728.00”
  4. p2093 [国家集训队]JZPFAR
  5. 原型设计工具Mockplus新年送福利,见者有份
  6. STM32F4库函数里面的RCC_DeInit(void)函数分析
  7. Go 面向对象概念
  8. 用Docker搭建WordPress
  9. Altera SOPC FrameBuffer系统设计教程
  10. access函数使用