首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

求帮忙分析一个判断整数或小数的正则,该怎么处理

2013-10-29 
求帮忙分析一个判断整数或小数的正则script typetext/javascriptvar reg1/\d+[^\.]|\d+\.\d{1,2}$/

求帮忙分析一个判断整数或小数的正则


<script type="text/javascript">
var reg1=/\d+[^\.]|\d+\.\d{1,2}$/;
var ar=[18,18.1,18.11,18.1111];
for(i in ar){
alert(reg1.test(ar[i]));
}
</script>

以上是我的正则,问题是数组的最后一位判断为什么也是true
如果去掉\d+[^\.]|,那么最后一位判断是false,但是去掉的话又没办法判断纯整数,

我这样写的判断整数或者小数的正则出了什么问题?
正则新手,请大家指导
[解决办法]
reg1=/\d+[^\.]
[解决办法]
\d+\.\d{1,2}$/; 
这个正则实际上是用
[解决办法]
分隔的两个正则/\d+[^\.]/和/\d+\.\d{1,2}$/,只要匹配其中一个就行
\d+[^\.]的意思是只要字符串任意位置有一个或一个以上数字,后面跟一个非点(.)字符就能匹配,这显然不对。

[解决办法]
引用:
reg1=/\d+[^\.]
[解决办法]
\d+\.\d{1,2}$/; 
这个正则实际上是用
[解决办法]
分隔的两个正则/\d+[^\.]/和/\d+\.\d{1,2}$/,只要匹配其中一个就行
\d+[^\.]的意思是只要字符串任意位置有一个或一个以上数字,后面跟一个非点(.)字符就能匹配,这显然不对。
正解,最后一个18.1111匹配第一个正则\d+[^\.],所以true
/^\d+(\.\d{1,2})?$/就可以

热点排行