【发布时间】:2015-03-22 12:36:19
【问题描述】:
我有以下功能。这样做是过滤子域中允许的字符。在 JSLint 我得到以下错误。有什么方法可以在不显示 JSLint 错误的情况下做到这一点。我知道我可以忽略 JSLint 设置中的错误,但是有没有其他方法可以改进我的代码以不显示 JSLint 错误。
function filterSubDomain(value) {
return value.replace(/[^a-z0-9\-]/ig, '')
.replace(/^[\-]*/, '')
.replace(/[\-]*$/, '')
.toLowerCase();
}
【问题讨论】:
-
快速回答是 JSLint 不希望你在你的正则表达式中说出你不想想要的东西。你需要重新组合来说出你做什么,这样你没有想到的事情就不会溜走。也就是说,我很难弄清楚
filterSubDomain在做什么。 为了避免被骗,您能否具体告诉我们您希望如何使用“符合 JSLint”的正则表达式?我可以告诉您,您首先要删除除字母、数字或破折号之外的任何内容,但不能绝对确定用例是什么。抱歉,如果我太厚了。 -
@ruffin 我正在尝试过滤掉所有内容,只获取一个子域友好字符串以使用它来构建主机,例如
var subdomain = filterSubDomain('xyz!@#$* ')+'.example.com';会产生 xyz.example.com
标签: jslint