求一个判断混合四则运算js正则表达式

xym_loveit 2011-08-15 04:25:15
为了能让各位高手“速懂”模拟一个简易如后面有更多数据则雷同如:





|----高(1)1班
|-------高一年级----------- |----高(1)2班
| |----高(1)3班
京都第一中学----|
|-------高二年级------------|------高(2)1班
| |------高(2)2班
| |------高(2)3班
|
|-------高三年级-----------|
|-------高(3)2班
|-------高(3)3班


2.1.4.5.、20.3.5.6.(一般深度不会超过6层),假如现在我们想求高一三班的同学的总成绩的80%与高三二班的同学成绩之和那么根据本系统规定的公式规则应该:[1.1.1.]*0.8+[1.3.1.]现在用户可以这样输入:[1.1.1.]*0.8+[1.3.1.]、[1.3.1.]+[1.1.1.]*0.8、[1.3.1.]+0.8*[1.1.1.]等......怎么能在用户输入之后判断其格式的规范性(格式校验)?

用户输入框为简单文本输入框:<input type="text">,求验证机制!最好为正则表达式!


thx
...全文
528 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xym_loveit 2011-08-16
  • 打赏
  • 举报
回复
至于你说的从用户角度考虑的问题,本人也同意你的观点,我也向产品部反应过,可是现在没办法,他们说就要这样的效果,估计以后还得改,我也不想再多说神马,心里多少有点纠结

引用 5 楼 feige05 的回复:
首先回答你的问题,

JScript code

var v='[1.1.1.]*0.8+[1.3.1.]、[1.3.1.]+[1.1.1.]*0.8、[1……
[/Quote]
xym_loveit 2011-08-16
  • 打赏
  • 举报
回复
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四则简单运算(此运算公式是用户手动输入)

xym_loveit 2011-08-16
  • 打赏
  • 举报
回复
恩,你看懂了我的问题,楼上不好意思,确实是我自己美说清,本来是模拟好的一个图形,结果放上去就变形了,呵呵,等会把问题重新给整理下放上来,谢谢你们的光顾,更要谢谢5楼兄弟,我先看看~~~~
[Quote=引用 5 楼 feige05 的回复:]
首先回答你的问题,

JScript code

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\*)?\[……
[/Quote]
胡飞 2011-08-16
  • 打赏
  • 举报
回复
首先回答你的问题,

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语句。希望你能看懂我在说什么。
没事眯一会 2011-08-16
  • 打赏
  • 举报
回复
求解释
s1120624175 2011-08-16
  • 打赏
  • 举报
回复
我唯一看懂的就是不知道你在说什么
  • 打赏
  • 举报
回复
等没答案的时候再说我另外的观点吧。
最后一个菜鸟 2011-08-15
  • 打赏
  • 举报
回复
没有看懂

87,910

社区成员

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

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