作业帮 > 数学 > 作业

求教js正则表达式,判断必须要符合 数字+/+数字 怎么写?如:20/50,20.33/40.1,数字可以为小数需要大于

来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/11 19:51:12
求教js正则表达式,判断必须要符合 数字+/+数字 怎么写?如:20/50,20.33/40.1,数字可以为小数需要大于0
求教js正则表达式,判断必须要符合 数字+/+数字 怎么写?如:20/50,20.33/40.1,数字可以为小数需要大于
你这个看似简单,实际要考虑的情况很多,我写了一个
^(?:[1-9]\d*(?:\.\d+)?|0\.[1-9]|0\.0*[1-9]+)\d*/(?:[1-9]\d*(?:\.\d+)?|0\.[1-9]|0\.0*[1-9]+)\d*$
你试试可以不.
以下测试情况:
0./1.01 不通过
0.0/1 不通过
0.01/2.09 通过
1.909/23 通过
109/2. 不通过
1./234 不通过
1.98/2.88070 通过
不行的话在追问我,我在帮你调整.
再问: 表达式有错
再答: 你这个是在那里用的?怎么正则跑到firedebug中了。 给你写了一个简单的正则调试工具: http://hi.baidu.com/isplendiddream/item/3a237f4b495c6934fb896077 把里面的html源码复制到记事本中,保存为utf-8格式的Regex.html 然后按照要求测试以下。
再问:
定义的时候就出错了啊,用火狐打开页面就报之前那张图片的错。

再答: 这种复杂的表达式尽量用这种形式定义: var regex = new RegExp("^(?:[1-9]\d*(?:\.\d+)?|0\.[1-9]|0\.0*[1-9]+)\d*/(?:[1-9]\d*(?:\.\d+)?|0\.[1-9]|0\.0*[1-9]+)\d*$", "gi");