我也把它看作+ $.
我在用
$(this).text( $(this).text().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,") );
Run Code Online (Sandbox Code Playgroud)
将10000转换为10,000等
我想我理解其他一切:
我想你有点误读它:
- (?=\d {3}) - 如果后跟3个数字
请注意,正则表达式实际上是:
(?=(\d{3})+
Run Code Online (Sandbox Code Playgroud)
即你错过了一个开放的paren.以下全部内容:
(\d{3})+(?!\d)
Run Code Online (Sandbox Code Playgroud)
在(?= ... )这是一个零宽度前瞻断言 - 一种很好的方式,说内部的东西应该遵循我们迄今为止匹配的东西,但我们实际上并没有消耗它.
该(?!\d)说一个\d(即数字)应不遵守,所以在总:
(\d) 找到并捕获一个数字.(?=(\d{3})+(?!\d)) 声明应该跟随一个或多个三位数的组,但是它们不应该在它们之后还有另一个数字.我们替换为"$1,",即捕获的第一个数字和逗号.
因此,我们将逗号放在后面有三位数的数字后面,这是一个很好的方式来说我们将逗号添加为千位分隔符!
| 归档时间: |
|
| 查看次数: |
2793 次 |
| 最近记录: |