我有一个正则表达式来验证在字段中输入的量:/^\d+(\.\d+)?$/
检查在正则表达式的字符长度量验证
我可以采用某种化合物的表达,使得我可以检查的总节数的字符输入?它应该允许的13个字符的最大(有/无小数)
我有一个正则表达式来验证在字段中输入的量:/^\d+(\.\d+)?$/
检查在正则表达式的字符长度量验证
我可以采用某种化合物的表达,使得我可以检查的总节数的字符输入?它应该允许的13个字符的最大(有/无小数)
当然,只是在开始添加lookahead assertion:
/^(?=.{0,13}$)\d+(\.\d+)?$/
^(?=.{0,13}$)
确保有开始和13之间介于0和字符字符串的结尾。它实际上并不匹配并使用任何这些字符,因此正则表达式的以下部分可以进行验证。
另一种方式是
/^(?!.{14})\d+(\.\d+)?$/
这里,(?!.{14})
称,这是不可能在字符串的开始匹配14个字符,从而确保对这一主题的长度最多为13
其他变化:
/^(?=.{13})\d+(\.\d+)?$/ # more than 12 characters
/^(?=.{6}$|.{8}$)\d+(\.\d+)?$/ # 6 or 8 characters
前瞻:
/^(?=.{0,13}$)\d+(\.\d+)?$/
要定义你可以使用正向前查找
/^(?=.{0,13}$)\d+(\.\d+)?$/
(?=.{0,13}$)
是前瞻断言的最大长度,意思是有0之间,领先,直到字符串的结尾13个字符?
您可以为部分之前像这样
^(?=[^.]{1,5}(?:\.|$))\d+(?:\.(?=.{1,4}$)\d+)?$
第一次看前方检查不是一个点([^.]
)1至5倍也做到这一点单独,直到它找到一个点或字符串的结尾。第二次查看将检查点后面的1到4个字符,直到字符串结束。
+1快36秒:D – FailedDev