什么是Javascript输入正则表达式,用于接受整数和双接受逗号作为十进制分隔符

时间:2019-04-01 08:01:12

标签: javascript regex reactjs

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

1还可以
2,5还可以
20,3还可以
2.5不好。
35.65不好

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

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

位置:

^从字符串的开头开始

(?!\,)确保不匹配 ,字面意思是( 负前瞻

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

\,从字面上匹配字符,

+在一次和无限次之间进行匹配

(?<!\,)确保正则表达式在字面末尾不会与字符,匹配( 负向后看

$声明字符串末尾的位置

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,'));