Код: Выделить всё
(function ($) {
$.fn.smsArea = function (options) {
var e = this,
cutStrLength = 0,
s = $.extend({
cut: true,
maxSmsNum: 5,
interval: 400,
counters: {
message: $('#smsCount'),
character: $('#smsLength')
},
calculateSmsMaxLength: function (isUnicode, writtenSmsNb) {
if (isUnicode) {
if (writtenSmsNb == 0) {
return 70;
} else {
return (70 * (writtenSmsNb + 1)) - ((writtenSmsNb + 1) * 3);
}
} else {
if (writtenSmsNb == 0) {
return 160;
} else {
return (160 * (writtenSmsNb + 1)) - ((writtenSmsNb + 1) * 7);
}
}
}
}, options);
e.keyup(function () {
clearTimeout(this.timeout);
this.timeout = setTimeout(function () {
var smsType,
smsLength = 0,
smsCount = -1,
charsLeft = 0,
text = e.val(),
isUnicode = false;
for (var charPos = 0; charPos < text.length; charPos++) {
switch (text[charPos]) {
case "\n": case "[": case "]": case "\\": case "^": case "{": case "}": case "|": case "€":
smsLength += 2;
break;
default:
smsLength += 1;
}
if (text.charCodeAt(charPos) > 127 && text[charPos] != "€")
isUnicode = true;
}
for (var sCount = 0; sCount < s.maxSmsNum; sCount++) {
smsType = s.calculateSmsMaxLength(isUnicode, sCount);
cutStrLength = smsType;
if (smsLength
Подробнее здесь: [url]https://stackoverflow.com/questions/78302598/there-is-an-issue-with-bangla-character-counting-on-every-website[/url]