我根据输入的字符串长度验证了多个字段.但是,以下数组中的任何值都不得计入字符串长度:
var omittedSubStrings = ["%KEYWORD%","{Keyword:AltText}","%CITY_STATE%","%CITY%","%KEYWORD%","%KEY_WORD%","%QUERY_KEYWORD%","%QUERY_KEY_WORD%","$CLICK_ID$","$LOCATION$","%URLENC_CITY%","%NOSPACE_CITY%","%STATE%","$USER_PLACEMENT_INV_ID$"];
Run Code Online (Sandbox Code Playgroud)
例如,如果我的字符串是:
var str = "Hello %CITY%";
Run Code Online (Sandbox Code Playgroud)
我希望得到该字符串的长度等于6.多个变量可以在一个字符串中使用,并且它们必须全部不计入长度.
建议?
function countSubstringless(str, subStrings) {
var length = subStrings.length;
for (var i=0; i<length; i+=1) {
str = str.replace(subStrings[i], '');
}
return str.length;
}
var omittedSubStrings = ["%KEYWORD%","{Keyword:AltText}","%CITY_STATE%","%CITY%","%KEYWORD%","%KEY_WORD%","%QUERY_KEYWORD%","%QUERY_KEY_WORD%","$CLICK_ID$","$LOCATION$","%URLENC_CITY%","%NOSPACE_CITY%","%STATE%","$USER_PLACEMENT_INV_ID$"];
var str = "Hello %CITY%";
console.log(countSubstringless(str, omittedSubStrings));
// 6
Run Code Online (Sandbox Code Playgroud)