2013-02-08 2 views
9

Если у меня есть строка, загружаемая в переменную, какой подходящий метод использовать, чтобы определить, заканчивается ли строка в «/» косой чертой?Javascript, чтобы узнать, заканчивается ли строка в прямой косой чертой

var myString = jQuery("#myAnchorElement").attr("href"); 
+0

Jquery не может сделать это. Однако JavaScript может. –

+0

Возможный дубликат [как получить последний символ строки?] (Http://stackoverflow.com/questions/3884632/how-to-get-the-last-character-of-a-string) –

ответ

12

регулярное выражение работает, но если вы хотите, чтобы избежать этого весь загадочный синтаксис, вот что-то, что должно работать: javascript/jquery add trailing slash to url (if not present)

var lastChar = url.substr(-1); // Selects the last character 
if (lastChar !== '/') {   // If the last character is not a slash 
    ... 
} 
3

Использование regex и сделать:

myString.match(/\/$/) 
1

простое решение было бы просто проверить последний символ с помощью:

var endsInForwardSlash = myString[myString.length - 1] === "/"; 

EDIT: Имейте в виду, что вам нужно будет проверить что строка не имеет значения null, чтобы избежать исключения.

1

Вы можете использовать подстроку и LastIndexOf:

var value = url.substring(url.lastIndexOf('/') + 1); 
0

Вы надеваете» Для этого нужен 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 
Смежные вопросы