我正在使用此表达式允许文本框仅具有绝对值或仅百分比。
^(-?\d+|\d+[.]\d+)%?$
它可以正常工作,但可以在数字或%符号后添加任何其他字符。
有效模式是 -130 300% 23.23%
它无效,可以$ 130正常工作 但是它将$ 130视为有效。 因此,张贴数字表示它允许任何字符。
所有,我希望我的文本框具有绝对值(+或-)或百分比。
没有其他字符。
答案 0 :(得分:1)
这应该为您完成,对于百分比,请使用\\d+(?:\\.\\d+)?%
,对于数字,请使用\p{N}
示例https://regex101.com/r/zsNIrG/2
答案 1 :(得分:1)
以下正则表达式:
^[%$][-+]?\d+([,.]\d{1,2})?|^[-+]?\d+([,.]\d{1,2})?[$%]
应适用于所有此类输入:
您可能知道,我们有两个命题 ^ [%$] [-+]?\ d +([,。] \ d {1,2})?还是(我们指的是它由 | )和第二部分 ^ [-+]?\ d +([,。] \ d {1,2})?[$%]
这是两部分的剖析:
第一部分:
第二部分 ^ [-+]?\ d +([,。] \ d {1,2})?[$%] :
答案 2 :(得分:-1)
您可以为此使用此表达式:@“ [0-9] +%$”