Jquery 包含小数的数字长度限制的正则表达式

Jquery 包含小数的数字长度限制的正则表达式,jquery,regex,validation,input,Jquery,Regex,Validation,Input,我在验证一个文本框时遇到了一个问题,该文本框的数字最多为11位,包括小数点和小数点后的两位数字。关于jquery中的keyup 我使用这个正则表达式/^\d+?[.]?\d{0,2}?$/g来验证一个数字和两位小数,但我不知道如何将数字max限制为11 我已经将输入类型number与maxlength一起使用,但它不起作用 Html 像这样的价值观 64123841.33 123456789.112345678901, 1.22 请帮我解决这个问题 ^\d{0,8}\.\d{1,2}$|^\d{

我在验证一个文本框时遇到了一个问题,该文本框的数字最多为11位,包括小数点和小数点后的两位数字。关于jquery中的keyup

我使用这个正则表达式/^\d+?[.]?\d{0,2}?$/g来验证一个数字和两位小数,但我不知道如何将数字max限制为11

我已经将输入类型number与maxlength一起使用,但它不起作用

Html

像这样的价值观

64123841.33 123456789.112345678901, 1.22

请帮我解决这个问题

^\d{0,8}\.\d{1,2}$|^\d{0,11}$

工作示例是否使用前瞻测试长度:

/^(?=.{1,11}$)\d+(?:\.\d{1,2})?$/
?=.{1,11}$是一个前瞻,确保我们有1到11个字符


?:\。\d{1,2}?是一个可选的非捕获组,允许使用1或2个十进制

请给出一些有效值和无效值的示例。例如,12345678901.11是否有效?总共11位还是小数点前11位point@RoryMcCrossan与123456789.1、12345678901、1.22一样,您希望对整个文本长度设置限制。为什么不使用呢?再看看您的regex101示例。它不是真正的匹配,因为它应该。它与3123123匹配为一个匹配,。作为一个,22作为一个。@Olian04现在只检查一次为什么maxlength=11不?@WiktorStribiżew:因为OP需要一个正则表达式。当然,属性maxlength=11是另一种解决方案。
^\d{0,8}\.\d{1,2}$|^\d{0,11}$
/^(?=.{1,11}$)\d+(?:\.\d{1,2})?$/