4

文字列が終止符で終わっているかどうかを確認する方法を見つけようとしています。終止符がない場合は、バニラJavaScriptを使用して追加する必要があります。何か案は?

変数の最後にピリオドがあるかどうかを実際に確認するには、このようなものが機能するのではないかと考えていましたが、エラーが発生したようです。

また、現時点では、文字列の最後にピリオドを追加する方法がわかりません。

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

これについて行くための最良の方法について何かアイデアはありますか?ありがとう!

4

3 に答える 3

5

句の条件は、if括弧で囲む必要があります。todoTitle.strまた、文字列を として1 回、として 1 回参照しますstr。前者だけが正しいと思いますか?そう:

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

(ブロックの;後の不適切なものも削除したことに注意してください。else

また、明示的に確認して、todoTitle.str.length >= 1.


実際に文字を追加する場合: 1 つのオプションは、上記のチェックを使用してから、todoTitle.str = todoTitle.str + '.'. もう 1 つは、replaceメソッドを使用してチェックと追加を組み合わせることです。

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

.最後の文字がそれ自体でない場合、これは最後の文字をそれ自身とプラス- に置き換えます.

于 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 (todoTitle.str.charAt(str.length-1) != ".") {
于 2013-02-20T15:06:12.340 に答える