Javascript 仅限数值

Javascript 仅限数值,javascript,regex,Javascript,Regex,可能重复: 我对regex不熟悉。 请帮助编写仅用于数值的模式(对于JavaScript) 仅限数值 允许小数点“ 没有逗号 谢谢 查看这里的示例,了解浮点数正则表达式示例 使用此正则表达式: ^\d+(\.\d+)?$ 下面是一个在JavaScript中使用各种正则表达式的示例。您的特定表达式如下所示: /^[-+]?[0-9]+(\.[0-9]+)?$/ 我建议使用以下代码来检查它是否是有效的浮点数,而不是使用正则表达式并处理浮点数的所有排列: var s = ".45"; var d

可能重复:

我对regex不熟悉。 请帮助编写仅用于数值的模式(对于JavaScript)

  • 仅限数值
  • 允许小数点“
  • 没有逗号

  • 谢谢

    查看这里的示例,了解浮点数正则表达式示例


    使用此正则表达式:

    ^\d+(\.\d+)?$
    
    下面是一个在JavaScript中使用各种正则表达式的示例。您的特定表达式如下所示:

    /^[-+]?[0-9]+(\.[0-9]+)?$/
    

    我建议使用以下代码来检查它是否是有效的浮点数,而不是使用正则表达式并处理浮点数的所有排列:

    var s = ".45";
    var d = parseFloat(s);
    if (!isNaN(d))
       alert("valid float: " + d);
    
    如果你必须有一个正则表达式,那么我建议:

    /^[-+]?(?=.)\d*(?:\.\d+)?$/
    

    您是否试图匹配十进制数字或IP地址,如数字和句点序列?@anubhava它匹配一个空字符串。小数点之前是否允许没有数字?是否允许有前导零,例如0001?你的要求不够。我们很乐意帮助您编写正则表达式,但您的问题更多的是“为我编写正则表达式”,您可以看看是否从
    parseFloat
    中获得了有效的数字?当然它会从“
    34.4134asd”
    34.4134
    )中得到一个有效的数字,但这有关系吗?以后,请编辑新信息您的原始问题,请不要在一个问题中问同一问题的金额。在我们的网站上,问题的重复确实很受欢迎。谢谢。@anubhava,问题没有告诉你这个数字是否有效……问题没有说清楚,但
    .28
    .15
    确实都是有效的数值。@anubhava,这取决于用户界面设计、业务逻辑等。你会读心术吗?不,先生,这不是关于任何人的思想。根据算术
    .28
    .59
    -.5
    .15
    都是有效的数值。@anubhava,
    0.28
    like
    .28
    like
    0x10
    只是数字的字符串表示。谢谢!如果我需要允许一个逗号且数字仅为正数,我将如何更新正则表达式?为此,您可以简单地使用:
    /^\+(?=)(?:\d+,)?\d*(?:\。\d+)$/
    谢谢!如果我需要允许一个逗号,并且数字只能是正数,我将如何更新正则表达式?@ihtus类似的操作可能会执行:
    /^[0-9]+(,[0-9]+)?(\.[0-9]+)?$/