我有一个输入框,条件是允许用户只输入数字,输入的数字应采用以下格式,分组为4,例如:4444 5555,以及输入的最大字符数。文本框应该是9.我对regex很新,所以不知道如何开始。小提琴中的工作样本会有很大的帮助。
答案 0 :(得分:1)
如果上述分组中的要求严格为10个数字,中间有空格,则正则表达式很简单:
/^\d{4}\s\d{4}\s\d{2}$/
\d
表示它只匹配一个数字字符,{4}
表示它对前一个匹配(\d
)看起来恰好是4次,在这种情况下,匹配 4 数字字符。 \s
表示一个空格,类似于{4}
,\d{2}
匹配2个数字字符。 ^
和$
分别表示要匹配的字符串的开头和要匹配的字符串的结尾。
希望这有帮助。
答案 1 :(得分:1)
如果长度是固定的,那么您只需使用\d
来表示数字
/^\d\d\d\d \d\d\d\d \d\d\d\d \d\d$/
或使用{n}
乘数代替
/^\d{4} \d{4} \d{4} \d\d$/
如果相反,总长度是任意的,你只是想确保你有空格的每四个数字稍微复杂一些:
/^(\d{4} )*\d{1,4}$/
意思是您希望零个或多个组形成4个数字,一个空格后跟1到4个数字。在最后一部分中,如果您还希望接受空字符串作为有效响应,则可以使用{0,4}
。
答案 2 :(得分:0)
如果您想要一个或多个使用' +'。例如,4+将是1个或更多连续的' s。
使用*来表示您想要0或更多的东西!
将括号用于字符组或其他组的组。
如果你想在两者之间留一个空格,那就用两个之间的空格字符。
看起来你想要一个或多个' 4然后是0或更多(空格后跟1或更多' 4')
此常规快递将匹配以下所有字符串:" 4+(4 +)*"
44444
4 44 4
4 4 4
4
4444444444
4 4
44444444444444 44444444444444444 4444444444444444
4444 4444 44
答案 3 :(得分:0)
根据示例提供此正则表达式将有所帮助
/ ^ [0-9] [0-9] * $ /
这表示中间有空格的数字。例如。 444 444.但是如果你像第一次插入空间那样'444 444'然后开始数字然后它不允许。
为此你可以使用/ ^ [0-9] * $ /
^表示start和$表示结束。因此,在开始和结束之间,您可以使用空格编写数字。