寻找正则表达式以匹配 ng-pattern 中的特定十进制格式
looking for a regular expression to match specific decimal format in ng-pattern
我正在寻找一个正则表达式来放入 angular 的 ng-pattern 属性。
我正在寻找仅满足特定十进制模式的表达式,即
exactly one digit --> than a decimal --> exactly 2 digits
我想出了
\d{1}\.{1}\d{2}?
以上模式正确匹配以下数字。
2.22
3.12
0.34
这很好,但如果用户输入 12.12
它不会拒绝它,因为我需要它。
exactly one digit --> than a decimal --> exactly 2 digits
使用字边界来防止它匹配两侧不需要的文本:
\b\d\.\d{2}\b
如果您只需要此内容而不需要其他内容,则应使用词首 (^
) 和词尾 ($
) 锚点。您的正则表达式为:
var regex = /^\d\.\d{2}$/; //then just bind to controller
If the expression evaluates to a RegExp object, then this is used directly. If the expression evaluates to a string, then it will be converted to a RegExp after wrapping it in ^
and $
characters. For instance, "abc"
will be converted to new RegExp('^abc$')
.
请注意,如果您使用字符串输入,则必须转义反斜杠以获得正确的正则表达式字符串。在这种情况下,您可以只使用
<input ng-model="yourModel" ng-pattern="\d\.\d{2}" >
我正在寻找一个正则表达式来放入 angular 的 ng-pattern 属性。
我正在寻找仅满足特定十进制模式的表达式,即
exactly one digit --> than a decimal --> exactly 2 digits
我想出了
\d{1}\.{1}\d{2}?
以上模式正确匹配以下数字。
2.22
3.12
0.34
这很好,但如果用户输入 12.12
它不会拒绝它,因为我需要它。
exactly one digit --> than a decimal --> exactly 2 digits
使用字边界来防止它匹配两侧不需要的文本:
\b\d\.\d{2}\b
如果您只需要此内容而不需要其他内容,则应使用词首 (^
) 和词尾 ($
) 锚点。您的正则表达式为:
var regex = /^\d\.\d{2}$/; //then just bind to controller
If the expression evaluates to a RegExp object, then this is used directly. If the expression evaluates to a string, then it will be converted to a RegExp after wrapping it in
^
and$
characters. For instance,"abc"
will be converted tonew RegExp('^abc$')
.
请注意,如果您使用字符串输入,则必须转义反斜杠以获得正确的正则表达式字符串。在这种情况下,您可以只使用
<input ng-model="yourModel" ng-pattern="\d\.\d{2}" >