Я уже писал подобную статью, только функция была написана на php.
В этой же статье я написал функцию для склонения слов на js.
Например, 1 лайк, 2 лайка или 5 лайков. В приведенном мной примере, склоняется число лайков. По сути, функция очень простая: функция будет получать число и три формы слова, проанализировав число, функция вернет нужную форму слова.
Код функции:
// склонение слова function numForm(number, forma1, forma2, forma3){ var regexp1 = /[056789]$/; var match1 = regexp1.exec(number); var regexp2 = /[1]$/; var match2 = regexp2.exec(number); var regexp3 = /[234]$/; var match3 = regexp3.exec(number); if((number == "0") || ((number >= "5") && (number <= "20")) || match1 != null){ return forma3; } if(match2 != null){ return forma1; } if(match3 != null){ return forma2; } }
Пример использования:
var num = 1; var textLike = numForm(num, 'Лайк', 'Лайка', 'Лайков'); alert(textLike);