var sub = string.substr(start[, length])
startЭтот метод описан только в ненормативной части стандарта ECMA, но реализован во всех браузерах.
Метод substr начинает собирать строку с позиции start и заканчивает, когда соберет length или дойдет до конца строки.
Если start больше или равен длине строки, то substr возвращает пустую строку.
Если start < 0, позиция определяется с конца строки. При этом если полученная позиция - до начала строки, то в качестве start берется 0. Это поведение не поддерживается Internet Explorer.
Если параметр length не указан - подстрока берется до конца строки.
Если length <= 0 - возвращается пустая строка.
var str = "abcdefghij";
alert("(1,2): " + str.substr(1,2));
alert("(-3,2): " + str.substr(-3,2));
alert("(-3): " + str.substr(-3));
alert("(1): " + str.substr(1));
alert("(-20, 2): " + str.substr(-20,2));
alert("(20, 2): " + str.substr(20,2));
Последовательно выведет:
(1,2): bc (-3,2): hi (-3): hij (1): bcdefghij (-20, 2): ab (20, 2):
| Поиск по сайту |
| Последние темы на форуме |
Forum |
Большое спасибо!
Коротко и с адекватно-нормальными примерами - успехов Вам!
Продолжайте писать!
Так как использую именно эту функцию, то решил спросить тут.
В поле textarea установлен ограничитель на 2000 символов максимум.
Теперь если в поле добавить больше, чем 2000 символов, то функция возвратит строку ровно 2000 символов, но при этом курсор установит в начало строки.
Как установить курсор в конец строки?
а как сделать чтобы из этого 192.168.38.45:8081 отрезать :8081, при условии что IP адрес динамический его длинна меняется и его генерирует переменная host в программе HFS
Написано же что отрицательный start надо указывать, чтобы от конца отсчитывать
Можно отбросить с помощью RegExp
Почему-то вариант из примера:
alert("(-3): " + str.substr(-3));
возвращает у меня всю строку
в чем может быть причина?
может быть строка короче трех символов?
Потому что Internet Explorer не поддерживает отрицательные значения в качестве start