求一个判断混合四则运算js正则表达式 本帖最后由 xym_loveit 于 2011-08-15 16:34:06 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先回答你的问题,var v='[1.1.1.]*0.8+[1.3.1.]、[1.3.1.]+[1.1.1.]*0.8、[1.3.1.]+0.8*[1.1.1.]'; v=v.match(/(?:(?:0\.)?\d\*)?\[(?:\d\.){0,6}\](?:\*(?:0\.)?\d)?\+(?:(?:0\.)?\d\*)?\[(?:\d\.){0,6}\](?:\*(?:0\.)?\d)?/g) console.log(v)现在用的是match,如果你只要用来判断可改为test,这个正侧可以匹配0.8*[1.1.1.]*0.8可能不是你想要的。还有,你让用户输入这么复杂的公式,很不合理,在用户体验方面绝对不会让你过,你这就好比在google输入框让用户来输入SQL语句。希望你能看懂我在说什么。 ps:由于确实是本人发帖混乱,各位看不懂神马意思,下面引用一段图片假如现在我们想求高一二班的同学的总成绩的80%与高三二班的同学成绩之和那么根据本系统规定的公式规则应该:[1.1.1.]*0.8+[1.3.2.]现在用户可以这样输入:[1.1.1.]*0.8+[1.3.2.]、[1.3.2.]+[1.1.1.]*0.8、[1.3.2.]+0.8*[1.1.1.]等......怎么能在用户输入之后判断其格式的规范性(格式校验)?用户输入框为简单文本输入框:<input type="text">,求验证机制!最好为正则表达式!目前只考虑s四则简单运算(此运算公式是用户手动输入) 至于你说的从用户角度考虑的问题,本人也同意你的观点,我也向产品部反应过,可是现在没办法,他们说就要这样的效果,估计以后还得改,我也不想再多说神马,心里多少有点纠结引用 5 楼 feige05 的回复:首先回答你的问题,JScript codevar v='[1.1.1.]*0.8+[1.3.1.]、[1.3.1.]+[1.1.1.]*0.8、[1……[/Quote] 急急急!一个表单多个submit,struts2框架下 百度下拉框用的是什么技术? 大家有用EXTJS框架开发的么 100分打听一js日历控件的名字 javascript+html实现帮助文档的功能,急…… 一个弹出窗口的问题,急!且要求比较BT 请教JS 子窗访问父窗问题 求js代码(列表框相关) 请教 JQUERY怎么判断新弹出的窗口加载完毕 400分求解!!! 给外网https网页动态加载的本地JS不执行 急!!一个IE版本的怪异问题,请高手不吝赐教! 精通jquery的。 大虾请进来看下
v=v.match(/(?:(?:0\.)?\d\*)?\[(?:\d\.){0,6}\](?:\*(?:0\.)?\d)?\+(?:(?:0\.)?\d\*)?\[(?:\d\.){0,6}\](?:\*(?:0\.)?\d)?/g)
console.log(v)现在用的是match,如果你只要用来判断可改为test,
这个正侧可以匹配0.8*[1.1.1.]*0.8可能不是你想要的。还有,你让用户输入这么复杂的公式,很不合理,在用户体验方面绝对不会让你过,你这就好比在google输入框让用户来输入SQL语句。希望你能看懂我在说什么。
假如现在我们想求高一二班的同学的总成绩的80%与高三二班的同学成绩之和那么根据本系统规定的公式规则应该:[1.1.1.]*0.8+[1.3.2.]现在用户可以这样输入:[1.1.1.]*0.8+[1.3.2.]、[1.3.2.]+[1.1.1.]*0.8、[1.3.2.]+0.8*[1.1.1.]等......怎么能在用户输入之后判断其格式的规范性(格式校验)?用户输入框为简单文本输入框:<input type="text">,求验证机制!最好为正则表达式!目前只考虑s四则简单运算(此运算公式是用户手动输入)
首先回答你的问题,JScript codevar v='[1.1.1.]*0.8+[1.3.1.]、[1.3.1.]+[1.1.1.]*0.8、[1……
[/Quote]