求一个javascript正则表达式,匹配正数(包含小数,位数不限但不包含0)

Cyanapple_wen 2010-03-22 04:32:05
在网上找了一个正则表达式:^[0-9]+[\.]?[0-9]+$ 但是在使用时发现它不能输入单个整数(1、2、3、4、5、6、7、8、9)。其他的都可以满足。要求可以正确识别:0.123456789;1;123.456(小数位数不限制)
...全文
1523 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
老俊说技术 2010-08-14
  • 打赏
  • 举报
回复

function isDigit(s)
{
var patrn=/^([1-9]\d*)(\.{0,1}\d*[1-9])?$/;
if (patrn.test(s)) return true
return false;
}

这个可以同时判断整数和小数
Cyanapple_wen 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 johnln271 的回复:]
这个可以
^(([0-9]+[\.]?[0-9]+)|[1-9])$
[/Quote]
不错,这个是可以了,谢谢哈。同时也感谢上面两位的回答。
johnln271 2010-03-23
  • 打赏
  • 举报
回复
这个可以
^(([0-9]+[\.]?[0-9]+)|[1-9])$
Cyanapple_wen 2010-03-23
  • 打赏
  • 举报
回复
有没有更好的正则表达式呢?要排除0,但要能输入零点几的小数,也要能输入个位数的整数和任意小数,不能输入小于或等于0的数字。要数值型的。
Cyanapple_wen 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 plglenn36 的回复:]
^([0-9]+[\.]?[0-9]+|\d+)$
try it
[/Quote]
这样也不能把0排除在外。虽然可以用判断来实现,但我想最好有一个正则可以实现我要求的那些匹配。
plglenn36 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 cyanapple_wen 的回复:]
^[0-9]+[\.]?[0-9]+$
[/Quote]
^([0-9]+[\.]?[0-9]+|\d+)$
try it
liaoliaoss 2010-03-22
  • 打赏
  • 举报
回复
alert(/^([1-9]\d*|0)(\.\d*[1-9])?$/.test('1.11123123123')) //true
如果你显示的是false 我也不知道为什么.......
Cyanapple_wen 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cyanapple_wen 的回复:]
引用 1 楼 liaoliaoss 的回复:
/^([1-9]\d*|0)(\.\d*[1-9])?$/
[/Quote]
为什么只能匹配一位小数呢?我想要匹配任意的小数位数,还有我想不要匹配0,但现在这个是可以匹配0的。但要匹配大于0的小数比如:0.0112233等。
Cyanapple_wen 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liaoliaoss 的回复:]
/^([1-9]\d*|0)(\.\d*[1-9])?$/
[/Quote]
为什么只能匹配一位小数呢?我想要匹配任意的小数位数
liaoliaoss 2010-03-22
  • 打赏
  • 举报
回复
/^([1-9]\d*|0)(\.\d*[1-9])?$/

87,922

社区成员

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

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