如何创建要求用户输入带%数字的Regex表达式?
匹配带百分号数字的正则表达式方案
根据需求,这里提供几种不同场景下的正则表达式,你可以根据实际需要选择:
1. 基础整数匹配(仅正整数+百分号)
正则:^\d+%$
- 说明:仅匹配正整数紧跟百分号的内容,比如
5%、100%,不支持小数、正负号。
2. 支持小数的匹配
正则:^\d+(\.\d+)?%$
- 说明:允许整数或小数后跟百分号,比如
3.14%、7%都能匹配,小数点后必须有数字(不允许10.%这种格式)。
3. 支持正负号的匹配
正则:^[+-]?\d+(\.\d+)?%$
- 说明:兼容正负号、整数、小数的情况,比如
-4.5%、+0.8%、15%都符合要求。
4. 允许数字与百分号间有空格的匹配
正则:^\s*[+-]?\d+(\.\d+)?\s*%$
- 说明:如果用户输入时数字和百分号之间可能有空格(比如
10 %),用这个正则可以匹配。
匹配示例
- 符合要求的输入:
10%、3.14%、-5%、+0.8%、15 % - 不符合要求的输入:
10(无百分号)、abc%(包含非数字字符)、%10(百分号在数字前)、10.%(小数点后无数字)
内容的提问来源于stack exchange,提问作者ryanwhitcomb
相关产品推荐
相关产品推荐

