问一个jq的正则提取字符问题

phuai007 2011-10-21 03:22:54


//数字变色
$(function () {
$(".info .info_content span[class='money']").each(function () {
var str = $(this).html().replace(/([^0-9]+)/gi, '');
var str1 = $(this).html().replace(/([0-9]+)+/gi, '');
var strdiv = "<span style='color:red;font-size:16px;font-family:Adobe 黑体 Std R'>" + str + "</span>" + "<span style='font-size:12px;'>"+str1+"</span>";
$(this).html(strdiv);
});
});



以上代码,当要处理的内容为 100元/月 时可以将 100和后面的 元/月 分离出来,并重新设置样式,但是如果内容为 1.1 元/月时,就会变成 11. 元月,把小数点弄后面去了,如何修改才能正常显示1.1,并且把样式更改?
...全文
165 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
峭沙 2011-10-21
  • 打赏
  • 举报
回复
    	$(function () {
$(".info .info_content span[class='money']").html(function(index, txt){
return txt.replace(/(\d+(?:\.\d+)?)(\D*)/, "<span style='color:red;font-size:16px;font-family:Adobe 黑体 Std R'>$1</span>" + "<span style='font-size:12px;'>$2</span>");
});
});
sk_up_dyy 2011-10-21
  • 打赏
  • 举报
回复
手快了,去掉 $(this).html(strdiv);

<script src="jquery.js"></script>

<script>
//数字变色
$(function () {
$("span").each(function () {
$(this).html().replace(/(\d*)\.?(.*)/, '$1 $2');
alert(RegExp.$1);alert(RegExp.$2);
});
});
</script>


<span>100元/月</span>
<span>1.1 元/月</span>
sk_up_dyy 2011-10-21
  • 打赏
  • 举报
回复


<script src="jquery.js"></script>

<script>
//数字变色
$(function () {
$("span").each(function () {
$(this).html().replace(/(\d*)\.?(.*)/, '$1 $2');
alert(RegExp.$1);alert(RegExp.$2);
$(this).html(strdiv);
});
});
</script>


<span>100元/月</span>
<span>1.1 元/月</span>



值都取到了,样式自己设
001007009 2011-10-21
  • 打赏
  • 举报
回复
var str = $(this).html().replace(/([^0-9\.]+)/gi, '');
var str1 = $(this).html().replace(/([0-9\.]+)+/gi, '');


楼主 试试

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧