我有一个word
用各种字符串填充的变量,然后成为新元素的 id。我想检查并确保该字符串会生成有效的 html ID。我遇到了这个正则表达式:answer,但我不知道如何将它放在 if else 语句中。这是我尝试过的:
if (/[A-Za-z][-A-Za-z0-9_:.]*/.test(word) === false)
{
return findIt(i);
}
我尝试了以下几种解决方案,它们确实有效,但并不完全。我相信要么是因为空格要么是引号。我本质上是用完整的随机字符创建一个 ID,所以我想要只允许没有引号和空格的字母数字字符串的正则表达式。下面是两者的组合,目前运行良好,但必须有更好的答案。
function isValidId(s) {
return /^[^\s]+$/.test(s);
}
if (isValidId(word)===false){
console.log('bad '+word);
return findIt(i);
}
else if(/^[A-Za-z][-A-Za-z0-9_:.]*$/.test(word) === false)
{
console.log(word+" had junk");
return findIt(i);
}