4

我试图弄清楚如何检查字符串是否以句号结尾,如果不是,则应通过香草 JavaScript 添加。有任何想法吗?

我在想这样的事情可能会实际查看变量末尾是否有句号,但它似乎出错了?

目前我也不知道如何将句号添加到字符串的末尾。

    if todoTitle.str.charAt(str.length-1) != "." {
        alert("doesn't end in .");
    } else {
        alert("does end in .");
    };

关于解决此问题的最佳方法的任何想法?谢谢!

4

3 回答 3

5

子句中的条件if必须用括号括起来。此外,您将字符串引用一次 astodoTitle.str和一次 as str。我认为只有前者是正确的?所以:

    if (todoTitle.str.charAt(todoTitle.str.length-1) != ".") {
        alert("doesn't end in .");
    } else {
        alert("does end in .");
    }

(请注意,我也删除;了块后的不合适else

此外,您可能需要明确检查以确保todoTitle.str.length >= 1.


至于实际添加字符:一种选择是使用上面的检查,然后写todoTitle.str = todoTitle.str + '.'. 另一种是结合check-and-add使用replace方法:

todoTitle.str = todoTitle.str.replace(/([^.])$/, '$1.');

这将把最后一个字符替换为 self-plus- .,前提是最后一个字符不是 self .

于 2013-02-20T15:04:35.600 回答
2

目前我不知道如何将句号添加到字符串的末尾。

那将是通过字符串连接:

if (todoTitle.str.charAt(todoTitle.str.length-1) != ".") {
    todoTitle.str = todoTitle.str + "."
}
于 2013-02-20T15:08:05.817 回答
1

if 语句需要放在括号中:

if (todoTitle.str.charAt(str.length-1) != ".") {
于 2013-02-20T15:06:12.340 回答