Javascript regexp检查输入是否仅为整数(int),并检查另一个输入是否仅为小数点后2位的数字
我想知道正则表达式是什么样子的:Javascript regexp检查输入是否仅为整数(int),并检查另一个输入是否仅为小数点后2位的数字,javascript,regex,Javascript,Regex,我想知道正则表达式是什么样子的: 只有整数 仅限小于或等于小数点后两位的数字(23,23.3,23.43) 仅限整数 /\d+/ 小数点后一位或两位: /\d(\.\d{1,2})?/ 只有整数: /^\d+$/ #解释 \d匹配一个数字 +一次或多次 小数点后最多2位的数字: /\d(\.\d{1,2})?/ /^\d+(?:\。\d{1,2})$/ #解释 \d匹配一个数字。。。 +一次或多次 (开始分组。。。 ?:但不要捕获任何内容 \.匹配文字点 \d匹配一个数字。。。 {1,2
/\d+/
小数点后一位或两位:
/\d(\.\d{1,2})?/
只有整数:
/^\d+$/
#解释
\d匹配一个数字
+一次或多次
小数点后最多2位的数字:
/\d(\.\d{1,2})?/
/^\d+(?:\。\d{1,2})$/
#解释
\d匹配一个数字。。。
+一次或多次
(开始分组。。。
?:但不要捕获任何内容
\.匹配文字点
\d匹配一个数字。。。
{1,2}一两次
)端基
? 使整个组成为可选组
注:
- 斜线表示模式的开始和结束
和^
是字符串锚定的起点和终点。如果没有这些,它将在字符串中的任何位置查找匹配项。因此$
匹配/\d+/
,但它也匹配'398501'
。锚定确保整个字符串与给定的模式匹配'abc123'
- 如果要允许负数,请在第一个
之前添加一个\d
。同样,-?
表示“零次或一次”?
用法示例:
I.
[1-9][0-9]*
如果数字应大于零(以非零数字开头的任何数字系列)。如果它应该是零或更多:(0 |[1-9][0-9]*)
(零或非零数字)。如果可以是负数:(0 |-?[1-9][0-9]*)
(零或前面可以有负号的非零数字。)
二,。类似于I的正则表达式。后跟:
(\.[0-9]{1,2})
这意味着,可以选择一个点,后跟一个或两个数字。最重要的是找出这些正则表达式工作的原因!正则表达式使用与程序流不同的逻辑。您的第二个逻辑与整数不匹配True-最初认为这是目的,但没有仔细阅读问题。固定的