JS用正则表达式实现4则元算。形如:48.5*12=

请编写一函数,以四则运算表达式为参数,利用正则表达式从字符串中取出操作数和运算符,并计算出四则运算表达式的值。其中,用字符串形式存储的四则运算的表达式,由四部分组成,分别... 请编写一函数,以四则运算表达式为参数,利用正则表达式从字符串中取出操作数和运算符,并计算出四则运算表达式的值。其中,用字符串形式存储的四则运算的表达式,由四部分组成,分别是操作数1、运算符、操作数2、等号。例如:"48.5 * 25 = "。
我写的脚本只能运行整数。小数的时候就会取小数部分进行运算。不知道哪里错了。望懂的人帮我看看或者做一个范例给我看看。
<script>
function jisuan(){

var text=document.getElementById('txt1').value;
var tst=/([\d]+\.?)([\+|\-|\*|\/])([\d]+\.?)\=/ig;
var a=tst.exec(text);
var a1=a[1],a2=a[2],a3=a[3];
var re=a1+a2+a3;
alert(eval(re));
}
</script>
</head>
<body>
<input type="text" id="txt1" />
<input type="button" id="btn1" value="计算" onclick="jisuan()"/>
</body>
展开
 我来答
吧饼干咬哭
2015-07-03
知道答主
回答量:2
采纳率:0%
帮助的人:2.1万
展开全部
你改成这样试一下:
var tst=/([0-9]+\.?[0-9]*)([\*|\+|\-|\/])([0-9]+\.?[0-9]*)\=/gi;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式