根据正则表达式的匹配结果将匹配项替换为*
function regReplace(reg, str){
var result, //最终输出结果
out, //每次运行正则exec返回的匹配结果。
index, //匹配项在字符串中位置
length; //匹配项长度 result = str.split(""); //将待匹配的字符串分开成数组,等待处理
while(out = reg.exec(str)){ //当匹配成功返回out数组,如果没有匹配项或达到字符串末尾返回null
length = out[0].length; //匹配项长度
for(var i = 0; i < length; i++){ //从开始匹配的位置,根据匹配项长度循环替换为*
index = reg.lastIndex;
result.splice(index -length + i, 1, "*");
}
}
return reg + "\n"+ str + "\n" + result.join(""); //返回结果
}
测试一:

var strs = 'yangxunwu@164.com';
var regs = /[\w\-]+@[a-zA-Z\d]((\-)?[a-zA-Z\d])*(\.[a-zA-Z\d]((\-)?[a-zA-Z\d])*)*(\.[a-zA-Z]{2,4})/g;
var outCome = regReplace(regs, strs);
console.log(outCome); 输出:

/[\w\-]+@[a-zA-Z\d]((\-)?[a-zA-Z\d])*(\.[a-zA-Z\d]((\-)?[a-zA-Z\d])*)*(\.[a-zA-Z]{2,4})/g
yangxunwu@164.com
*****************

测试二:
var str = 'a aa aaa aaaa ab abb abbba abcba';
var reg = /ab+/g;

输出:
/ab+/g
a aa aaa aaaa ab abb abbba abcba
a aa aaa aaaa ** *** ****a **cba

最新文章

  1. Filezilla 适用于 Win2003 和 WinXP 的版本
  2. UVA题目分类
  3. BZOJ3012 : [Usaco2012 Dec]First!
  4. js设计模式(10)---观察者模式
  5. iOS 后台运行实现 --备用
  6. Web网站与Web应用程序区别
  7. python通过代理刷网页点击量
  8. JavaSE学习总结第02天_Java基础语法1
  9. 采用ToolRunner执行Hadoop基本面分析程序
  10. iOS 监听声音按键
  11. 图片转换PDF
  12. 关于md5的使用方法
  13. mysql官方测试库
  14. day-09内存管理
  15. UVA1623-Enter The Dragon(并查集)
  16. 每天一个linux命令:vmstat
  17. python GIL :全局解释器
  18. 批量插入数据, 将DataTable里的数据批量写入数据库的方法
  19. laravel 安装碰到的问题:全局安装 Laravel Installer,然后用下面的指令创建新项目: laravel new blog报连接超时解决方案
  20. 微信开发token验证失败

热门文章

  1. JavaScript之继承(原型链)
  2. Struts2(一)入门及工作原理
  3. Jint .net平台的javascript引擎
  4. WinForm------GridControl控件中使用SearchLookUpEdit控件的方法
  5. C#创建用户控件 - IPv4地址输入框
  6. Java VM for IOS
  7. 开源License
  8. php栈数据结构和括号匹配算法
  9. JNDI全面总结
  10. Fortify