-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstringLib.js
86 lines (79 loc) · 3.61 KB
/
stringLib.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// Расширение строковых функций объекта String
// padr - дополнить строку заданными символами справа
// padl - дополнить строку заданными символами слева
// trimRight - убрать все пробелы в конце строки (справа)
// trimLeft - убрать все пробелы в начале строки (слева)
// trimAll - убрать все пробелы в начале и конце строки
// за основу взят код функций с сайта "Гараж программиста" http://garazh.biz/javascript/trim/
// Инициализация расширения строковых функций
function initStringLib() {
String.prototype.padl = padl;
String.prototype.padr = padr;
String.prototype.trimRight = trimRight;
String.prototype.trimLeft = trimLeft;
String.prototype.trimAll = trimAll;
}
// Дополнить строку заданными символами справа
// параметры:
// cPadChar - строка. Символ, которым дополняется строка. Символ по умолчанию " " (пробел)
// nCount - целое число. Количество символов дополнения строки. Количество символов по умолчанию 0.
// возвращается - строка дополненная символами справа
function padr(cPadChar,nCount) {
var cString = "";
if (cPadChar===undefined) {
cPadChar = " ";
}
if (nCount===undefined) {
nCount = 0;
}
cString = this;
while (cString.length < nCount) {
cString = cString + cPadChar;
}
return cString;
}
// Дополнить или обрезать строку до заданой длины символами слева
// параметры:
// cPadChar - строка. Символ, которым дополняется строка. Символ по умолчанию "0"
// nCount - целое число. Количество символов до которой нужно дополнить строку. Количество символов по умолчанию 0.
// возвращается - строка дополненная символами слева
function padl(cPadChar, nCount) {
var cString = "";
if (cPadChar === undefined) {
cPadChar = "0";
}
if (nCount === undefined || typeof (nCount) != 'number') {
nCount = 0;
}
cString = this;
if (nCount > 0) {
if (cString.length > nCount) {
cString = cString.substr(cString.length - nCount)
} else {
while (cString.length < nCount) {
cString = cPadChar + cString;
}
}
}
return cString;
}
// Убрать все пробелы в конце строки (справа)
// параметры: отсутствуют
// возвращается - строка без пробелов в конце строки (справа)
function trimRight() {
var r = /\s+$/g;
return this.replace(r, '');
}
// Убрать все пробелы в начале строки (слева)
// параметры: отсутствуют
// возвращается - строка без пробелов в начале строки (слева)
function trimLeft() {
var r = /^\s+/g;
return this.replace(r, '');
}
// Убрать все пробелы в начале и конце строки
// параметры: отсутствуют
// возвращается - строка без пробелов в начале и конце строки
function trimAll() {
return this.trimLeft().trimRight();
}