文字列を変数にロードしている場合、文字列が「/」スラッシュで終わるかどうかを判断するために使用する適切な方法は何ですか?
var myString = jQuery("#myAnchorElement").attr("href");
文字列を変数にロードしている場合、文字列が「/」スラッシュで終わるかどうかを判断するために使用する適切な方法は何ですか?
var myString = jQuery("#myAnchorElement").attr("href");
正規表現は機能しますが、その不可解な構文全体を避けたい場合は、次のように機能する必要があります。javascript / jqueryの末尾にスラッシュを追加します(存在しない場合) 。
var lastChar = url.substr(-1); // Selects the last character
if (lastChar !== '/') { // If the last character is not a slash
...
}
使用regex
して実行する:
myString.match(/\/$/)
簡単な解決策は、次の方法で最後の文字を確認することです。
var endsInForwardSlash = myString[myString.length - 1] === "/";
編集:例外をスローしないようにするには、最初に文字列がnullでないことを確認する必要があることに注意してください。
substringとlastIndexOfを使用できます。
var value = url.substring(url.lastIndexOf('/') + 1);
そのためにJQueryは必要ありません。
function endsWith(s,c){
if(typeof s === "undefined") return false;
if(typeof c === "undefined") return false;
if(c.length === 0) return true;
if(s.length === 0) return false;
return (s.slice(-1) === c);
}
endsWith('test','/'); //false
endsWith('test',''); // true
endsWith('test/','/'); //true
プロトタイプを書くこともできます
String.prototype.endsWith = function(pattern) {
if(typeof pattern === "undefined") return false;
if(pattern.length === 0) return true;
if(this.length === 0) return false;
return (this.slice(-1) === pattern);
};
"test/".endsWith('/'); //true