【问题标题】:What is Javascript Input regex for Accepting integers and double accepting comma as decimal seperator [closed]什么是接受整数和双重接受逗号作为小数分隔符的 Javascript 输入正则表达式 [关闭]
【发布时间】:2019-04-01 08:01:11
【问题描述】:

我正在使用 React JS 创建一个应用程序。我有钱的输入字段。我只想接受带逗号的整数和双精度值。为此,我需要一个正则表达式。 例如,

1 没问题
2,5还可以
20,3 没问题
2.5不行。
35.65 不行

谁能帮我解决这个问题?

【问题讨论】:

    标签: javascript regex reactjs


    【解决方案1】:

    你可以试试/^(?!\,)[\d\,]+(?<!\,)$/

    地点:

    ^ 从字符串的开头开始

    (?!\,) 确保它不会匹配 , 字面意思是在乞讨(否定前瞻

    \d 匹配一个数字(等于 [0-9])

    \, 匹配字符 , 字面意思

    + 匹配一次到无限次

    (?<!\,) 确保正则表达式不会匹配字符 , 的末尾字面意思(Negative Lookbehind

    $ 在字符串末尾断言位置

    var patt = /^(?!\,)[\d\,]+(?<!\,)$/;
    console.log(patt.test('1'));
    console.log(patt.test('2,5'));
    console.log(patt.test('20,3'));
    console.log(patt.test('2.5'));
    console.log(patt.test('35.65'));
    
    //The following shows no starting or trailing comma are allowed
    console.log(patt.test(',123'));
    console.log(patt.test('123,'));

    【讨论】:

    • 不确定是否接受 ",123" 或 "123," 或 ",,,,,",不能接受。这可能有效 /^(\d,\d)+$/
    • @AZ_,没注意到......更新了答案......谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多