2012-03-25 4 views
17

Я ищу библиотеку js, такую ​​как StringUtils of commons-lang в java, которая содержит множество распространенных методов для работы строк.StringUtils в javascript

Такие, как:

  • IsEmpty/ISBLANK - проверяет, является ли строка содержит текст
  • Обрезка/Strip - удаляет начальные и конечные пробелы
  • Равно - сравнивает две строки нуль-безопасные
  • StartsWith - проверьте, не запущена ли строка с префиксом null-safe
  • endsWith - проверьте, не закончилась ли строка с суффиксом нуль-безопасным
  • IndexOf/LastIndexOf/Содержит - нуль-безопасный индекс-чеков
  • IndexOfAny/LastIndexOfAny/IndexOfAnyBut/LastIndexOfAnyBut - индексные любой из набора строк
  • ContainsOnly/ContainsNone/ContainsAny - это строка содержит только/нет/любой из этих символов
  • Substring/Left/Right/Mid - нуль-безопасной подстрока извлечений
  • SubstringBefore/SubstringAfter/SubstringBetween - подстрока экстракции по сравнению с другими строками
  • Split/Join - разбивает строку на массив подстрок и наоборот
  • Удалить/Удалить - удалить эс часть строки
  • Replace/Overlay - найти строку и заменяет одну строку другой
  • Chomp/Chop - удаляет последнюю часть строки
  • LeftPad/RightPad/Центр/Repeat - колодки строку
  • UpperCase/LowerCase/SwapCase/прописными/Uncapitalize - изменяет случай строки
  • CountMatches - подсчитывает количество вхождений одной строки в другой
  • IsAlpha/IsNumeric/IsWhitespace/IsAsciiPrintable - проверяет символы в строке
  • DefaultString - защищает от нулевой входной строки
  • Reverse/ReverseDelimited - переворачивает строку
  • сокращайте - сокращает строку, используя эллипсис

Это будет лучше, если он содержит некоторые другие методы для массивов/дат и т. д.

+2

Можете ли вы быть более точным об операциях, которые вы хотите выполнить на струнах? – Redger

+2

Просьба предоставить ссылку на документацию API 'StringUtils'. Программисты JavaScript обычно не имеют большого опыта работы с Java, поэтому они не знают, какие методы предоставляет StringUtils ... –

+0

Уже добавлена ​​ссылка на 'StringUtils' – Freewind

ответ

16

Струнные Utils - Underscore.string

Объект/массив utils - Underscore

Дата Utils - Moment.js

+1

Хорошо , underscore.string - это то, что я ищу – Freewind

+0

@timrwood: любая идея о поддержке браузера? http://stackoverflow.com/questions/25424011/underscore-string-browser-support –

1

Используйте как базовые методы Javascript, так и JQuery для DOM и moment.js для дат.

Прочтите следующее: Utils library, если вы ищете совместимость между браузерами.

Или вы можете написать свой собственный Apache-like commons-lang тоже!

+0

jQuery для операций с примитивными значениями ....? –

+2

Даты? Вопрос о строковых операциях ... –

+0

Он сказал: «Будет лучше, если он содержит некоторые другие методы для массивов/даты и т. Д.» поэтому основные методы Javascript для строк, JQuery для расширенной обработки DOM и JSON (все строки в конце концов) и moment.js для синтаксического анализа даты (строки тоже). – Redger

13

Здесь мы идем:

IsEmpty

str.length === 0 

ISBLANK

str.trim().length === 0 

Обрезка

str.trim() 

Равно

str1 === str2 

StartsWith

str.indexOf(str2) === 0 

IndexOf

str.indexOf(str2) 

LastIndexOf

str.lastIndexOf(str2) 

Содержит

str.indexOf(str2) !== -1 

Substring

str.substring(start, end) 

Левый

str.slice(0, len) 

Mid

str.substr(i, len) 

правой

str.slice(-len, str.length) 

И так далее ... (я должен продолжать?)

+0

Javascript может быть кошмаром, когда дело доходит до переносимости кода: http://stackoverflow.com/questions/498970/how-do-i-trim-a -string-in-javascript/8522376 # 8522376 – Redger

+1

@Redger 'trim()' является исключением здесь. Другие строковые методы - кросс-браузер. –

+0

commons-lang 'org.apache.commons.lang.StringUtils' является« нулевой »устойчивостью здесь и там, например' isEmpty' реализуется как this 'return str == null || str.length() == 0; ' –