js中正则表达式的应用
下面代码的应用场景参看另一篇博文,http://blog.csdn.net/june_ruikang/article/details/52639849
str = ' [李白 2016-01-20,5:30-20:30] [王白 2016-01-20,5:30-20:31] [金白 2016-01-20,5:30-20:32] [王白 2016-01-20,5:30-20:33] [李白 2016-01-20,5:30-20:34] [金白 2016-01-20,5:30-20:35] [金白 2016-01-20,5:30-20:36] [赵白 2016-01-20,5:30-20:37] [郝白 2016-01-20,5:30-20:38] [郝白 2016-01-20,5:30-20:39] [郝白 2016-01-20,5:30-20:40] [王白 2016-01-20,5:30-20:41] [赵白 2016-01-20,5:30-20:42] [王白 2016-01-20,5:30-20:43] [郝白 2016-01-20,5:30-20:44] [王白 2016-01-20,5:30-20:45] [王白 2016-01-20,5:30-20:46] ',
times = 4,
//Merge rows
function orderList(str,times){
/*
计算姓名索引
*/
namelist = [];
str.match(/\[[^\]]+\]/g).map(function(item,index,array){
//string.match(reg):在字符串string上,用正则表达式reg截取字符串,/\[[^\]]+\]/g:取[……]元素组成的数组
//array.map(function(item,index,array)(……)):遍历并修改数组的每个元素
return item.replace(/[^\u4e00-\u9fa5]/gi,"");
//string.replace(reg,""),/[^\u4e00-\u9fa5]/gi:只取中文
}).sort().reduce(function(prev,cur,index,array){
//sort():自然排序
//reduce(function(prev,cur,index,array){……}):迭代
if(prev.indexOf(cur)<0 || index==1){
//string1.indexOf(string2):若string1中有string2,返回0,否则返回-1
namelist.push(cur);
//array.push(xxx):添加元素在数组的尾部
}
return prev+cur;
//递归过程前面的元素不断被后面的覆盖,常用拼接的方式保全所有的元素
});
/*
计算返回值列表
*/
return namelist.map(function(item,index,array){
//array.map(function(item,index,array)(……)):遍历并修改数组的每个元素
var order = str.match(/\[[^\]]+\]/g).join().match(new RegExp('\\['+item.toString()+'[^\\]]+\\]','g'));
//string.match(reg):在字符串string上,用正则表达式reg截取字符串
//array.join():自然合并数组各项,变为字符串
//new RegExp('',''):正则的另一种表达方式,两个参数都为字符串类型,第一个参数内的正则字符串注意转义
var l = 0;
if(order && order!=null && order != '')
l = order.length;
if(l<times)
return '姓名:'+item + ',共计:' + l + ',明细:' + order;
else
return '姓名:'+item + ':ok!';
}).sort(function(v1,v2){
//array.sort(function(v1,v2){……}):自定义数组排序方式,return:0或-1时,v1和v2位置不变,为1时,位置交换
var p = /ok!/g;
if(p.test(v1) && p.test(v2))
//reg.test(string);sting字符串是否满足正则reg的要求
return 0;
else if(p.test(v1) && !p.test(v2))
//reg.test(string);sting字符串是否满足正则reg的要求
return 1;
else
return -1;
}).join('\n');
//array.join():合并数组各项,变为字符串,每一项后追加'\n':换行符
}(str,times)
js中正则表达式的应用相关推荐
- js中正则表达式验证_JS正则表达式的验证
(推荐)JS正则知识点专题://www.jb51.net/article/139831.htm //判断输入内容是否为空 function IsNull(){ var str = document.g ...
- JS中正则表达式常用语法总结
目录 一.正则表达式的创建 二.().[].{} 的区别 三.^ 和 $ 四.\d \s \w . 五.* + ? 六.test .match 七.支持正则表达式的 String 对象的方法 一.正则 ...
- js中正则表达式验证_js正则表达式验证大全(收集)
本篇文章给大家分享js正则表达式验证大全,平时收集的知识,比较全面,需要的朋友可以参考下 以下函数调用方式: function check() { var bb = document.getEleme ...
- js中正则表达式提取字母中的数字:利用字符串方法match
var aaa = "666kk88kk99" var bbb = / [0-9] / g // 表达式不是字符串,不能使用"引号括起来. var ccc = aaa.m ...
- js中正则表达式验证_JS正则表达式验证
新增150,153,156,158,159,157,188,189 正则表达式如下: ^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$ //校验是否全由数字组成 fun ...
- 关于js中正则表达式链接
http://deerchao.net/tutorials/regex/regex.htm#negativelookaround 转载于:https://www.cnblogs.com/michael ...
- 前端开发:JS中关于正则表达式的使用汇总
前言 在前端开发过程中,关于正则表达式的使用也是必备技能,尤其是在实际业务需求的时候,需要处理一些不能按照正常语句操作的逻辑,如前端开发中的字符匹配.参数处理等都需要正则表达式来匹配截取处理.虽然正则 ...
- java中正则全局匹配_JS中正则表达式全局匹配模式/g用法实例
JS中正则表达式全局匹配模式 /g用法详解 本文章来详细介绍js中正则表达式的全局匹配模式 /g用法, var str = "123#abc"; var re = /abc/ig; ...
- JS中与正则相关的方法
前面有一篇文章大体介绍了一下JS中正则表达式,而使用正则表达式还需要配合JS中的相关方法,分别是String对象和RegExp对象的方法.今天就来具体介绍一下这些方法. 使用这则表达式的方法可以分为两 ...
最新文章
- 机械臂底层通信协议说明
- Arm64中的异常处理
- py脚本:linux系统下定时清理文件
- CF1045G AI robots(动态开点线段树)
- opencv glob 内存溢出异常
- linux编译minix,MINIX对Linux
- ansys经典界面分析工字钢_【干货】基于ANSYS经典界面的接触分析例子
- 计算机硬件关系密切,与计算机硬件关系最密切的软件是( ).
- easypoi必填项_easypoi必填项_EasyPoi使用入门
- 基于 go-cqhttp 开发的 SSPU的QQ机器人小助手
- 科普:商标图样的要求有哪些?
- Markdown Viewer 插件安装(使用谷歌浏览器查看md文件格式
- Activity高级学习
- Win10系统开机后任务栏卡死解决方法
- 华为荣耀畅玩7安卓系统升级为鸿蒙系统,华为EMUI系统迎来绝唱!内核升级为鸿蒙,荣耀被彻底放弃?...
- Learning Convolutional Neural Networks for Graphs
- Bellman-Ford与spfa算法
- 20230327 作业
- 使用YOLOX进行物体检测
- Linux基础bash命令
热门文章
- php怎么创建控制器,Yii2创建控制器(createController)方法详解
- 【进制转换】负进制转换 多进制转换
- 如何用HTML5开发一款手机游戏
- 中国EMBA教育培训行业发展规划与投资规模预测报告2021年版
- LTE物理传输资源(3)-时频资源
- Word上的空白页无法删除,是因为在Word文档中有多种类型的格式标记,很多时候隐藏在页面中,无法看到这些标记,并占用文档区域,导致空白页无法直接删除。
- linux 网卡gso,linux内核网络协议栈学习笔记:关于GRO/GSO/LRO/TSO等patch的分析和测试...
- k近邻算法_图穷匕见:K近邻算法与手写数字识别
- flac如何转换成wav?
- ubuntu+cuda+theano