0

我正在尝试验证将接收 URL 的字段。我需要使用适当的正则表达式对其进行验证,但是我从 Firebase 文档本身获得的内容不起作用。编译器bolt既不编译,导致错误:

bolt:37:3: Invalid property or method: 'validate() { this.test((/^(ht|f)tp(s?):\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*((0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\'.
bolt:37:3: Invalid property or method: '\\'\\/\\\\+&=%\\$#_]*)?$/) '.
bolt: Fatal errors: 2
我的代码:
type Category {
  categoryName: String,
  isAvailable: Boolean,
  createdAt: Number,
  photoUrl: LinkURL,
  subcategories: Object | Null
}

type LinkURL extends String {
  validate() { this.test((/^(ht|f)tp(s?):\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*((0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\+&=%\\$#_]*)?$/) }
}
4

1 回答 1

0

我相信您在正则表达式的开头有一个额外的“(”

尝试这个

type LinkURL extends String {
  validate() { this.test(/^(ht|f)tp(s?):\/\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*((0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&=%\$#_]*)?$/) }
}
于 2019-01-09T12:52:44.797 回答