接受除5个连续零之外的所有数字:Javascript

Nar*_*ani 3 javascript regex

我想验证一个不应该是00000的5位数字.允许除00000之外的所有数字.

示例:01201,00001,21436,45645是有效数字,1,12,123,1234,00000是无效数字.

我试过^([0-9]{5}[^(0){5}])$但是没用.

任何有关这方面的帮助将非常感激.

谢谢.

fal*_*tru 8

使用负面积极前瞻:

/^(?!0{5})\d{5}$/
Run Code Online (Sandbox Code Playgroud)
/^(?!0{5})\d{5}$/.test('01201')
// => true
/^(?!0{5})\d{5}$/.test('00001')
// => true
/^(?!0{5})\d{5}$/.test('21436')
// => true
/^(?!0{5})\d{5}$/.test('1')
// => false
/^(?!0{5})\d{5}$/.test('12')
// => false
/^(?!0{5})\d{5}$/.test('00000')
// => false
Run Code Online (Sandbox Code Playgroud)


mpl*_*jan 8

不需要负面的前瞻

Live Demo

function isvalid5(str) {
  return str != "00000" && /^\d{5}$/.test(str);
}
Run Code Online (Sandbox Code Playgroud)


Rob*_*bin 5

您可以使用负面展望:

^(?!0{5})\d{5}$
Run Code Online (Sandbox Code Playgroud)

前面的负面厕所(?!...)将失败整个正则表达式,如果里面的内容匹配,\d是一个捷径[0-9].