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



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

10050.1575% .

我尝试了d*(.)?d*(%)正则表达式,但它仅适用于百分比。
d*(.)d*一个是数字或十进制,但我不知道如何将两者结合起来。

使用此正则表达式/^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

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

以下站点适合测试正则表达式:http://regexr.com/

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

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

你可以试试这个:

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

解释:

  • ^d+$数字

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

  • ^d+%$仅带百分比的数字

正则表达式演示

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

这将完成工作

最新更新