Там есть вот такое
Перенос по слогам JavaScript JQuery
$.fn.rusHyphenate = function () {
var all = '[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]',
vowel = '[аеёиоуыэюя]',
consonant = '[бвгджзклмнпрстфхцчшщ]',
zn = '[йъь]',
shy = '\xAD',
hyp = [];
hyp[0] = new RegExp('(' + zn + ')(' + all + all + ')', 'ig');
hyp[1] = new RegExp('(' + vowel + ')(' + vowel + all + ')', 'ig');
hyp[2] = new RegExp('(' + vowel + consonant + ')(' + consonant + vowel + ')', 'ig');
hyp[3] = new RegExp('(' + consonant + vowel + ')(' + consonant + vowel + ')', 'ig');
hyp[4] = new RegExp('(' + vowel + consonant + ')(' + consonant + consonant + vowel + ')', 'ig');
hyp[5] = new RegExp('(' + vowel + consonant + consonant + ')(' + consonant + consonant + vowel + ')', 'ig');
return this.each(function () {
var text = $(this).html();
for ( var i = 0; i <= 5; ++i ) {
text = text.replace(hyp[i], '$1' + shy + '$2');
}
$(this).html(text);
});
};
$(selector).rusHyphenate();
Вариант с обработкой длины слова
Чтобы переносы были только в длинных словах
$.fn.rusHyphenate = function ( options ) {
options = $.extend({
maxWordLength: 15, // максимальная длина слова
}, options);
var all = '[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]',
vowel = '[аеёиоуыэюя]',
consonant = '[бвгджзклмнпрстфхцчшщ]',
zn = '[йъь]',
shy = '\xAD',
hyp = [];
hyp[0] = new RegExp('(' + zn + ')(' + all + all + ')', 'ig');
hyp[1] = new RegExp('(' + vowel + ')(' + vowel + all + ')', 'ig');
hyp[2] = new RegExp('(' + vowel + consonant + ')(' + consonant + vowel + ')', 'ig');
hyp[3] = new RegExp('(' + consonant + vowel + ')(' + consonant + vowel + ')', 'ig');
hyp[4] = new RegExp('(' + vowel + consonant + ')(' + consonant + consonant + vowel + ')', 'ig');
hyp[5] = new RegExp('(' + vowel + consonant + consonant + ')(' + consonant + consonant + vowel + ')', 'ig');
return this.each(function () {
var text = $(this).html(),
res = '';
text = text.split(' ');
text.forEach(function ( word, i ) {
if( word.length > options.maxWordLength ) {
for ( var i = 0; i <= 5; ++i ) {
word = word.replace(hyp[i], '$1' + shy + '$2');
}
}
res += word + ' '
})
$(this).html(res);
});
};
$(selector).rusHyphenate({maxWordLength: 10});