截取字符串中的数字并去重
2016-02-02 15:29
330 查看
最近项目中要求做一个查询条件,按照表格中的某一列里的数据将其显示到下拉框中方便用户筛选查询,该组数据是汉字和数字的组合,因此我做了个比较笨的方法去掉里面的数字,方法如下:
html:
js:
html:
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <style> select{ margin:0 auto; } </style> <title>欢迎</title> </head> <body> <label class="control-label" style="width:100px;margin-right:5px;">原始数据:</label> <select name="state1"> <option>测试代码-1002-210</option> <option>生产车间代码-203042-2</option> <option>生产车间代码-204242-51</option> <option>生产车间代码-203042-4</option> <option>机号-11124</option> <option>机号-1244</option> <option>机号-134</option> <option>国家编码-22-4523-1</option> <option>国家编码-22-45632-2</option> </select><br><br><br><br> <label class="control-label" style="width:100px;margin-right:5px;">新生成的数据:</label> <select name="state2" id="state"> </select> </body>
js:
<script> $(function(){ var oldStr=["测试代码-1002-210","生产车间代码-203042-2","生产车间代码-204242-51","生产车间代码-203042-4","机号-134","机号-1244","机号-11124","国家编码-22-45632-1","国家编码-22-45632-2"]; var newSelect=[]; var newArr=[]; var newObj={}; var newOp=""; //通过正则找到数字的角标,然后截取角标之前的汉字 for(var i=0;i<oldStr.length;i++){ var num=oldStr[i].search(/[0-9]/ig)-1; var newStr=oldStr[i].substring(0,num); newSelect.push(newStr); } //遍历新的只有汉字的数组并去重 for(var j=0;j<newSelect.length;j++){ if(!newObj[newSelect[j]]){ newArr.push(newSelect[j]); newObj[newSelect[j]]=1; } } //循环生成标签加入到页面元素中 for(var k=0;k<newArr.length;k++){ newOp+="<option>"+newArr[k]+"</option>" } $("#state").html(newOp); }); </script> </html>
相关文章推荐
- 自定义MapReduce的类型
- pageX,clientX,offsetX,layerX的区别
- 详解数据库集群的分布式事务、两阶段提交协议、三阶提交协议
- 网页滚动到底部自动加载数据
- 2015年工作报告与总结
- 工作中用到的js验证
- OpenStack 绘制JS(D3)引用与模板
- 第 9 章 时间与日期
- pixhawk 编译开发环境
- uva11549 - Calculator Conundrum
- svn 提交多个文件 命令行
- 深入了解ios系统机制
- 新手学习C++笔记7:结构体、联合体的区别与联系
- window系统安装msysgit(Git客户端软件)教程
- xlslib 最新版本xlslib-package-2.5.0 VS2010 编译
- virsh 连接虚拟机 (vnc 或 控制台)
- (14)如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第二部分
- meclipse中project facet问题
- Android学习笔记-Android初级 (四)高性能编码技巧
- Eclipse调试