有人可以帮我提供以下数字的正则表达式吗?
我可以有数字或小数或数字百分比。
100
或50.15
或75%
.
我尝试了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]*%?
这将完成工作