我想要的是,有一个最大长度为5的文本框.允许的值是..
我找到了这个页面,http://www.regular-expressions.info/refadv.html
所以我的想法就是这样
所以,我制作的正则表达式是......
a single digit one or more => /d+
an optional decimal point followed by exactly one digit => (?:[.]\d{1})?
if first condition matches => (?(first condition) => (?((?<=\d+)
then, match the option decimal and one exact digit =>(?((?<=\d+)(?:[.]\d{1})?
else => |
find if there is a decimal and one exact digit => (?:[.]\d{1}){1}
check the whole condition globally => /gm
Run Code Online (Sandbox Code Playgroud)
整体表达=>
(?(?<=\d+)(?:[.]\d{1}){1}|(?:[.]\d{1}){1})+/gm
Run Code Online (Sandbox Code Playgroud)
但它没有输出任何东西..
这是小提琴
ps:那里的pattern1和pattern2与我之前的问题有关.
您可以尝试以下模式:
/^\d{0,4}\.?\d$/
Run Code Online (Sandbox Code Playgroud)
它似乎满足您的所有要求:
> /^\d{0,4}\.?\d$/.test(".4")
true
> /^\d{0,4}\.?\d$/.test(".45")
false
> /^\d{0,4}\.?\d$/.test("1234.4")
true
> /^\d{0,4}\.?\d$/.test("12345.4")
false
> /^\d{0,4}\.?\d$/.test("12345")
true
> /^\d{0,4}\.?\d$/.test("123456")
false
Run Code Online (Sandbox Code Playgroud)
此模式假设该数字最多可以有五位数字和一个可选的小数点。
如果最大长度 5 包括可选的小数点,则模式会稍微复杂一些:
/^(?:\d{1,5}|\d{0,3}\.\d)$/
Run Code Online (Sandbox Code Playgroud)
该组的第一部分处理所需长度的整数,该组的第二部分处理最大长度(包括小数点)为五的实数。
| 归档时间: |
|
| 查看次数: |
928 次 |
| 最近记录: |