以下不带端口号的URL规则运行良好。
export default {
data: () => ({
valid: true,
url: '',
urlRules: [
v => !!v || 'URL is required',
v => (v && v.length <= 256) || 'URL must be less than 256 characters',
v => /https?:\/\/[\w!?/\+\-_~=;\.,*&@#$%\(\)\'\[\]]+/.test(v) || 'URL must be valid',
],
}),
components: {
},
}然后,我将[0-9]*规则用于URL的端口号部分,如下所示。
export default {
data: () => ({
valid: true,
url: '',
urlRules: [
v => !!v || 'URL is required',
v => (v && v.length <= 256) || 'URL must be less than 256 characters',
v => /https?:[0-9]*\/\/[\w!?/\+\-_~=;\.,*&@#$%\(\)\'\[\]]+/.test(v) || 'URL must be valid',
],
}),
components: {
},
}但这发生在以下错误:
34:36 error Unnecessary escape character: \+ no-useless-escape
34:44 error Unnecessary escape character: \. no-useless-escape
34:53 error Unnecessary escape character: \( no-useless-escape
34:55 error Unnecessary escape character: \) no-useless-escape
34:57 error Unnecessary escape character: \' no-useless-escape
34:59 error Unnecessary escape character: \[ no-useless-escape
✖ 6 problems (6 errors, 0 warnings)我不知道为什么附加端口号部分破坏正则表达式。谢谢你的建议!
发布于 2020-02-19 13:57:50
这个问题与虚拟规则或正则表达式无关。您应该看看您的ESLint配置。此错误表示您的代码失败了“无无用-转义”ESLint规则。
作为一个快速的解决方法,您可以对某些行禁用ESLint规则。这一守则应适用于:
export default {
data: () => ({
valid: true,
url: '',
urlRules: [
v => !!v || 'URL is required',
v => (v && v.length <= 256) || 'URL must be less than 256 characters', /* eslint-disable-next-line no-useless-escape*/
v => /https?:[0-9]*\/\/[\w!?/\+\-_~=;\.,*&@#$%\(\)\'\[\]]+/.test(v) || 'URL must be valid',
],
}),
components: {
},
}https://stackoverflow.com/questions/60300199
复制相似问题