假设这个功能:
function renameDoc() {
var newFilename = prompt("Name this document:", filename);
if (newFilename !== null) {
if (newFilename === "") {
changeFilename(); // "untitled.txt"
} else {
changeFilename(newFilename.lastIndexOf(".txt") == -1 ?
newFilename + ".txt" : newFilename);
}
return true;
}
}
此功能测试newFilename
最后是否.txt
。这很有效。
但想要检查newFilename
是.txt.
还是.md
我正在尝试这个
function renameDoc() {
var newFilename = prompt("Name this document:", filename);
if (newFilename !== null) {
if (newFilename === "") {
changeFilename(); // "untitled.txt"
} else {
changeFilename((newFilename.lastIndexOf(".txt") && newFilename.lastIndexOf(".md")) == -1 ?
newFilename + ".txt" : newFilename);
}
return true;
}
}
似乎没有完美运作。
你能帮我解决这个问题。
答案 0 :(得分:2)
(newFilename.lastIndexOf(".txt") === -1 && newFilename.lastIndexOf(".md") === -1)
该语句检查它是否没有.txt且没有.md。例如,如果它以.jpeg
结尾,则返回true答案 1 :(得分:2)
你可以用这个:
/\.(md|txt)$/.test(newFilename)
测试文件名是否以“.md”或“.txt”结尾
在您的功能中,您可以这样做:
changeFilename(
/\.(md|txt)$/.test(newFilename)
? newFilename
: newFilename + ".txt"
);