Javascript正则表达式调整

标签 javascript regex mootools

使用 mootools 我有一个像这样的正则表达式:

new RegExp('^([^\\D'+ separator +']+)(\\d{2})');

在字符串中,每 2 个字符后插入分隔符中定义的字符。我希望它只插入最后两个。

示例:

 String     Result
 123456     12.34.56  // what it does now
 123456     1234.56   // what it should do

我对正则表达式没有太多经验,所以任何帮助或指向像样教程的链接都值得赞赏。

最佳答案

如果你的字符串只包含数字,这不是和除以 100 一样吗?

'' + str / 100

这可能取决于语言环境;-)

如果您有更多我可以处理的边缘情况,我可以改进这个答案。


如果你绝对必须只使用正则表达式,你总是可以使用这个:

'123456'.replace(/(.)(\d{2})$/, function($0, $1, $2) { 
    return $1 + '.' + $2; 
});

这可以保护您免受可能导致 NaN 的字符串的影响,例如 'foo'

关于Javascript正则表达式调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11223499/

相关文章:

javascript - jquery 空闲秒数计数器

javascript - 在 JavaScript 中验证电子邮件

javascript - 如何去除多余的小数点?

java - 正则表达式到 Java.regex.Pattern

javascript - Mootools 背景改变

javascript - 函数调用时事件监听器不会被删除

javascript - 这段 javascript 代码哪里出错了?

php - 拒绝通过 htaccess 直接访问文件夹和文件

javascript - 如何在 Firefox 中跟踪和调试 JavaScript 内存泄漏?

javascript - JavaScript 中的 preg_match?