js正则表达式之来一打实例 Published on Dec 3, 2020 in 前端javascript with 0 comment 前面我们介绍了js的正则表达式,这篇文章我们来实战一下,用js的正则表达式来写一些开发上的实例 ###### 把数字字符按千位进行逗号分隔: 例如: ```js var numStr = '100000000' var pattern = /(?=(\d{3})+$)/g console.log(numStr.match(pattern)) // ["", "", ""] numStr.replace(pattern, ',') // ,100,000,000 ``` 这里多了一个 `,` 正好在 `100000000`边界的位置,所以我们可以修改下正则,加一个`\B` 非边界: ```js var pattern = /(?=(\B\d{3})+$)/g numStr.replace(pattern, ',') // 100,000,000 ``` 这样就实现了,但是!!!,问题又来了,如果是有小数点的呢 `var numStr = '100000000.12345'` ,别急,我们接下来实现有小数点的 ```js var pattern = /(?<=\b(? ``` 检测这个class名是否存在: ```js function hasClass (el, cl) { var pattern = new RegExp('(^|\\s)' + cl + '(\\s|$)') return el.className.match(pattern) } ``` ###### 删除class名: ```js var classNames = 'box container wrapper widget' function removeClass (el, cl) { var pattern = new RegExp('(^|\\s*)' + cl + '(\\s*|$)', 'g') el.className = el.className.replace(pattern, ' ') } ``` ###### 身份证号 ```js /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ ``` ###### 只限制输入汉字 ```js /^[\u4e00-\u9fa5]+$/gi.test(e.target.value) ``` ###### 验证真是姓名 ```js /^[\u4e00-\u9fa5]{2,4}$/ ``` 本文由 tutustack 创作,采用 知识共享署名4.0 国际许可协议进行许可本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 Share : facebook Twitter Weibo QRcode ← → ↓ ↑ Responses / Cancel Reply SUBMIT