如何使用一个RegEx验证此类数字输入。字符串是不允许的。点或逗号后面的两个小数位。
示例:
123.34
1.22
3,40
134,12
123
答案 0 :(得分:10)
试试这个正则表达式:
/^(\d+(?:[\.\,]\d{2})?)$/
如果$1
与输入字符串完全匹配,则假定它已经过验证。
答案 1 :(得分:3)
试试这个,
/^(\d+(?:[\.\,]\d{1,2})?)$/
答案 2 :(得分:2)
pat = re.compile('^\d+([\.,]\d\d)?$')
re.match(pat, '1212')
<_sre.SRE_Match object at 0x91014a0>
re.match(pat, '1212,1231')
None
re.match(pat, '1212,12')
<_sre.SRE_Match object at 0x91015a0>
答案 3 :(得分:1)
这是我用,
或.
测试小数点的方法,该点在小数点或逗号后有两个小数位。
(\d+)
:一位或多位数字(,\d{1,2}|\.\d{1,2})?
:使用.
或,
,后面最多两位小数
const regex = /^(\d+)(,\d{1,2}|\.\d{1,2})?$/;
console.log("0.55 returns " + regex.test('0.55')); //true
console.log("5 returns " + regex.test('5')); //true
console.log("10.5 returns " + regex.test('10.5')); //true
console.log("5425210,50 returns " + regex.test('5425210,50')); //true
console.log("");
console.log("10.555 returns " + regex.test('10.555')); //false
console.log("10, returns " + regex.test('10,')); //false
console.log("10. returns " + regex.test('10.')); //false
console.log("10,5.5 returns " + regex.test('10,5.5')); //false
console.log("10.5.5 returns " + regex.test('10.5.5')); //false