Jquery 双重拆分字符串并分别包装结果

Jquery double split string and wrap results separately

我有一个字符串 $295.52 想拆分它并得到以下结果:

  <span>$</span>295.<span>52</span>

我尝试拆分逗号后的数字,成功了,但现在我无法掌握第一个字符。这是我的代码:

      $('.slprice').each(function () {
            var text = $(this).text().split('.');
            for (var i = 0, len = text.length; i < len; i++) {
                text[i] = '<span class="pricefix-' + i + '">' + text[i] + '</span>';
            }
            $(this).html(text.join(''));

       });
function formatString(x)
{
y = x.split(".");
return "<span>"+y[0][0]+"</span>"+y[0].substr(1, y[0].length-1)+"<span>"+y[1]+"</span>";
}

并像

一样使用它
$('.slprice').each(function () {
            var text = $(this).text().split('.');
            $(this).html(formatString(text));

       });

工作Fiddle

您可以为此使用正则表达式,设置组以匹配您想要分成 span 元素的部分。像这样:

var $container = $('#foo');
var re = /($)(\d+\.)(\d+)/;
$('.slprice').each(function () {
    var matches = $(this).text().match(re);
    $(this).html('<span>' + matches[1] + '</span>' + matches[2] + '<span>' + matches[1] + '</span>');
});

Example fiddle

我会这样做:FIDDLE

$('.slprice').each(function () {
        var text = $(this).text().split('.')
        var dollar_sign = text[0].substr(0, 1);
        var cents = text[1];
        var int = text[0].substr(1, 3);
        alert(dollar_sign);
        alert(cents);
        alert(int);
        //your other code

});