请教高手们对于JavaScript的正则表达式只能输入数字,对于多位数字第一位不能为0, 单个数字可以为0

请教高手们对于JavaScript的正则表达式只能输入数字,对于多位数字第一位不能为0,单个数字可以为0的正则表达式怎么写啊,最近没分了,不好意思啊... 请教高手们对于JavaScript的正则表达式只能输入数字,对于多位数字第一位不能为0, 单个数字可以为0的正则表达式怎么写啊,最近没分了,不好意思啊 展开
 我来答
百度网友84c11da
2014-10-17 · TA获得超过1108个赞
知道小有建树答主
回答量:695
采纳率:100%
帮助的人:402万
展开全部
var r = /(^[1-9]([0-9]*)$|^[0-9]$)/
console.log(r.test("0"))
console.log(r.test("11220000"))
console.log(r.test("01220000"))
更多追问追答
追问
如果再加上可以有小数 可以为负数,该怎么办呢,继续给分
追答
var s =/(^([1-9]|\-[1-9])(([0-9])*\.?[0-9]*)$)|(^([0-9]|\-[0-9])\.?[0-9]*$)/
s.test("0")
s.test("-0.41")
s.test("-100.1")
s.test("0100")
s.test("-0120.1")

 如果允许第一个数字为0 ,那么有个很巧妙的方式判断是否为数字


isNumber = function(num){

   num = +num

    return !isNaN(num)

}

isNumber("123123")

isNumber("-123.12312")

isNumber("123.123123")

isNumber("12.123.123")

isNumber("sadsadasd")

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式