有一个东西的规格为:1件*20桶*30包*123.45公斤,我想要的结果是1、20、30、123.45,但是我用这个/(\d+)[^\d]*$/来做校验,只能得到1、20、30、45,请各位大虾棒棒忙,谢谢!
var strArray = str.split("*");
for(var i=0;i<strArray.length;i++){
charVar=strArray[i];
if(t=charVar.match(/(\d+)[^\d]*$/)){
alert(t[1]);
}
}
var strArray = str.split("*");
for(var i=0;i<strArray.length;i++){
charVar=strArray[i];
if(t=charVar.match(/(\d+)[^\d]*$/)){
alert(t[1]);
}
}
解决方案 »
- ext 如何删除组件
- 不按Ctrl实现Multiple Select多选
- 我想请教一个理论问题。关于 function
- [原创] Fonshen Js MenuTree Version 1.00(无限级菜单树)发布
- 有没办法不点提交按扭而自动提交表单
- 设计了一个简单的仿win2003的导航条控件,遇到JS问题无法继续,请大家支招!
- 简单啊 页面加载的问题!!!!
- javascript中如何能实现显示客户端IP的功能?
- 请各位高手帮忙!800分相赠!
- 百度地图关键字提示输入在bootstrap模态框的问题
- 我是新手来的,我想请教一下javascript的调试啊?
- Popup中flash地址被屏蔽的问题
var Result=Str.replace(/[^\d\.\*]+/g,"");
var StrArray=Result.split("*");
alert(StrArray);但这样的一个正则并不严谨,如果非需要信息中包含数字和.符号 则需要重新思考,但按你目前的要求,可以暂时这样实现.
var res=str.match(/\d+(\.\d+)?/g);
alert(res);
var res=str.match(/\d+(?:\.\d+)?/g);
alert(res);
var s = "1件*20桶*30包*123.45";
var p = /\d+(\.\d{1,2})?/g;
var i;
while ((i = p.exec(s)) != null) {
document.write(i[0]);
document.write("<br />");
}
var Str="1件*20桶*30包*123.45";
var Result=Str.split(/[^\d\.]+/g);
alert(Result);
</script>