这是我的代码:
/^(?:(.+)?\d+(.+)?){8}$/
我的代码接受8位及以上但不是空字符串。
有人能帮助我吗?感谢
答案 0 :(得分:2)
假设您的意思是至少8位数字或空字符串,这将起作用:
^((\D*\d\D*){8,}|)$
零个或多个非数字字符\D*
后跟数字\d
,后跟零个或多个非数字,8次或更多次。或者字符串的开头后跟结尾(空字符串)。
测试出来:
/^((\D*\d\D*){8,}|)$/.test("")
true
/^((\D*\d\D*){8,}|)$/.test("a1b2c3d4")
false
/^((\D*\d\D*){8,}|)$/.test("a1b2c3d4e5f6g7h8")
true
/^((\D*\d\D*){8,}|)$/.test("a1b2c3d4e5f6g7h8i9j")
true
答案 1 :(得分:0)
我认为这应该有效:
/^(?:(.+)?\d+(.+)?){8}|null$/
答案 2 :(得分:0)
如果我理解你,试试这个:
/^(?:(.+)?\d+(.+)?){8}|$/