【发布时间】:2018-07-04 11:21:55
【问题描述】:
我有这个 URL 验证器代码, 它在输入例如“www.wwww.www”或“wwww.wwwww”时通过 当像这样“wwww.wwwww.”最后添加点时,它不会通过。当我们填写像“wwww.wwwww”这样的值时,不需要它通过。我应该如何更改代码?
export class WebsiteValidator {
public static validate(control: AbstractControl) {
const URL_REGEXP = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?
[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/;
return (control.value && !URL_REGEXP.test(control.value)) ? {
validateUrl: {
valid: false
}
} : null;
}
}
【问题讨论】:
-
wwww.wwwww 实际上可能是一个有效的域名,前提是有人出于某种不明原因将 wwwww 注册为 TLD 或某个本地网络域。
标签: javascript regex typescript