我发现的所有内容都表明空字符串可以通过 /^$/ 在正则表达式中匹配。但是,该表达式在我的 Mongoose Validator for zipcode 中不起作用。
如果两个状态之一为真,我想设置邮政编码——要么是空的,要么是有效的五位数字。
ZIP_REGEX: /^$|^[0-9]{5}$/
zip: {
type: Number,
validate: [ ZIP_REGEX, 'ValidationError']
},
每次我尝试存储空字符串时,此验证器都会失败。结果是我可以设置有效的邮政编码,但从不取消设置。Mongoose 是否也在尝试验证空字符串是否为数字?正则表达式错了吗?