一个文本框中的数字和小数和百分比的正则表达式

时间:2017-03-27 10:25:55

标签: regex

有人可以帮我提供以下号码的正则表达式吗? 我可以有数字或十进制或数字百分比。

50.1575%\d*(\.)?\d*(%)

我尝试了\d*(\.)\d*正则表达式,但它只适用于百分比 String query = "a == p && a != 2"; ^^^ this is not a string but a variable 一个是数字或小数,但我无法弄清楚如何将两者结合起来。

5 个答案:

答案 0 :(得分:3)

使用此正则表达式/^\d+(\.\d+)?%?$/

  • ^应该以
  • 开头
  • \d+至少一位数(肯定会更多)
  • (\.\d+)?可能包含也可能不包含小数部分
  • %?可能包含也可能不包含%符号
  • $结束



var re=/^\d+(\.\d+)?%?$/;

console.log(re.test('123')); // true
console.log(re.test('123.32'));  // true
console.log(re.test('123.32%')); // true
console.log(re.test('123%'));  // true
console.log(re.test('123.')); // false  . atlast
console.log(re.test('123.%')); // false .% atlast




答案 1 :(得分:2)

如果您先尝试解决问题然后在遇到困难时寻求帮助会更好,否则您将如何学习?

以下网站适用于测试正则表达式:http://regexr.com/

话虽如此,以下内容应该有效:

/^\d+\.?\d*\%?$/

答案 2 :(得分:0)

你可以试试这个:

^\d+$|^\d+\.\d+$|^\d+%$

说明:

  • ^\d+$仅限数字

  • ^\d+\.\d+$十进制值

  • ^\d+%$仅限数字与百分比

regx demo

答案 3 :(得分:0)

[0-9]+\.?[0-9]*%?

这将完成工作

答案 4 :(得分:-2)

你可以试试这个

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