Javascript 用于严格匹配百分比值的正则表达式

Javascript 用于严格匹配百分比值的正则表达式,javascript,regex,Javascript,Regex,我希望严格匹配字符串,如45%或2% 如果在所需字符串之前或之后添加了其他字符串,如abc34%或34%cd212,则不应匹配。您可以使用以下正则表达式: ^\d+%$ ^字符串的开头。这可以确保不允许使用字符串ABC45% \d+至少一个数字 $字符串的结尾。这样可以确保不允许使用字符串45%ABC 这里有一个活生生的例子: var regex=/^\d+%$/; 变量样本=[ "123%", “ABC12%”, “ABC123%ABC”, “123%abc”, “abc” ]; 对于

我希望严格匹配字符串,如
45%
2%


如果在所需字符串之前或之后添加了其他字符串,如
abc34%
34%cd212
,则不应匹配。您可以使用以下正则表达式:

^\d+%$
  • ^
    字符串的开头。这可以确保不允许使用字符串
    ABC45%
  • \d+
    至少一个数字
  • $
    字符串的结尾。这样可以确保不允许使用字符串
    45%ABC
这里有一个活生生的例子:

var regex=/^\d+%$/;
变量样本=[
"123%",
“ABC12%”,
“ABC123%ABC”,
“123%abc”,
“abc”
];

对于(var i=0;i这将适用于您:

const testData=(数据)=>/^(?[1-9]\d?%| 0%)$/。测试(数据)
常数测试=[“1.2%,“120%,“12%,”2%,“ABc%,”1,3%,“23%,“abc34%,”34%cd212%,“00%,”0%。]
对于(测试的x){
log(`${x}${testData(x)}`)

}
@anubhava:只有在字符串
foo-24%
中匹配
24%
是可以接受的情况下。那么
0.000039000%
呢?@sin浮点应该是allowed@MaciejKocieja应该避免“00%”这正是我想要的,0%没问题。谢谢你的帮助