JS如何使用正则表达式(match)截取括号中的文字和数字

 更新时间:2023年10月24日 10:23:04   作者:1024次日落  
正则表达式是一种用来匹配文本模式的工具,这篇文章主要给大家介绍了关于JS如何使用正则表达式(match)截取括号中文字和数字的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

引言

如题所示呢,大概需求就是将一串字符串中的指定内容截取,然后对截取的内容在做截取,小小的套娃一下,最后对得到的内容做相应的处理。类似于这样:

这种需求听起来很合(胡)理(扯),首先首先要截取字符串长度并没有限制的,所以就不能去做固定位置截取,这里为了实现这个小小的需求,我借助了正则表达式及match方法相互配合。

思路:

  • 因为要截取的内容都处在括号内,故首先将括号中的内容提取出来
  • 然后在对截取内容做汉字和数字的分开提取
  • 最后按需求对数字进行转换千克即可

步骤:

    (1)取出括号中的内容使用正则惰性匹配  大概写法是 /\((.+?)\)/g

    (2)取数字,所有数字或小数都会取出 /\d+(.\d+)?/g 

    (3)取汉字,这里需要借助汉字编码 /[\u4e00-\u9fa5]/g

代码: 

 因为我是Vue项目使用了filter 如下: 

filters: {
			toNumber(val) {
				// 取出括号中的内容
				let res = val.match(/\((.+?)\)/g)
				let num = 0
				if (res) {
					res.forEach(ele => {
						let numEle = ele.match(/\d+(.\d+)?/g).toString() //取出数字
						let unitEle =  ele.match(/[\u4e00-\u9fa5]/g).join("")  // 取出汉字
						switch (unitEle){
							case '克':
								num += (numEle * 1) / 1000
								break;
							case '千克':
								num += numEle * 1
								break;
							case '吨':
								num = num + (numEle * 1) * 1000
								break;
							case '斤': 
								num += (numEle * 1) * 0.5
								break;
						}
					})
					return num+'千克'
				}else {
					return res
				}
		
			}
		},

总结

到此这篇关于JS如何使用正则表达式(match)截取括号中的文字和数字的文章就介绍到这了,更多相关JS正则match截取括号文字数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解CocosCreator MVC架构

    详解CocosCreator MVC架构

    这篇文章主要介绍了CocosCreator MVC架构,同学们在制作游戏过程中,尽量使用一些架构,会避免很多问题
    2021-04-04
  • js防抖函数和节流函数使用场景和实现区别示例分析

    js防抖函数和节流函数使用场景和实现区别示例分析

    这篇文章主要介绍了js防抖函数和节流函数使用场景和实现区别,结合实例形式详细分析了js防抖函数和节流函数基本功能、定义、用法区别及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • js实现自定义路由

    js实现自定义路由

    本文介绍了js实现自定义路由,主要是事件hashchange的使用,然后根据我们的业务需求封装。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JS+Canvas绘制抽奖转盘

    JS+Canvas绘制抽奖转盘

    这篇文章主要为大家详细介绍了JS+Canvas绘制抽奖转盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 图片自动更新(说明)

    图片自动更新(说明)

    图片自动更新(说明)...
    2006-10-10
  • js中this的指向问题归纳总结

    js中this的指向问题归纳总结

    最近发现在对JS的学习中有很多朋友对this的指向问题还是有很大的误区或者说只是大致了解,但是一旦遇到复杂的情况就会因为this指向问题而引发各种bug。所以这篇文章主要给大家介绍了关于js中this的指向问题的相关资料,需要的朋友可以参考下
    2018-11-11
  • 关于Javascript加载执行优化的研究报告

    关于Javascript加载执行优化的研究报告

    这篇文章主要介绍了关于Javascript加载执行优化的研究报告,需要的朋友可以参考下
    2014-12-12
  • JS判断是否在微信浏览器打开的简单实例(推荐)

    JS判断是否在微信浏览器打开的简单实例(推荐)

    下面小编就为大家带来一篇JS判断是否在微信浏览器打开的简单实例(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • 基于HTML5+JS实现本地图片裁剪并上传功能

    基于HTML5+JS实现本地图片裁剪并上传功能

    这篇文章主要为大家详细介绍了HTML5本地图片裁剪并上传的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • js正则表达式中test,exec,match方法的区别说明

    js正则表达式中test,exec,match方法的区别说明

    本篇文章主要是对js正则表达式中test,exec,match方法的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01

最新评论