рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрдИ рд╡рд┐рд╡рд┐рдз рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдКрдВрдЯ рд╢реИрд▓реА рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:function camelize(str) {
return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) {
if (+match === 0) re
turn "";
return index === 0 ? match.toLowerCase() : match.toUpperCase();
});
}
рдХреЛрдб рдХрд╛ рдпрд╣ рдЯреБрдХрдбрд╝рд╛, рд╡реИрд╕реЗ, "рдКрдВрдЯ" рд╢реИрд▓реА рдореЗрдВ рддрд╛рд░ рд▓рд╛рдиреЗ рдХреЗ рд╕рд╡рд╛рд▓ рдХреЗ рдЬрд╡рд╛рдм рдХреА рднреВрдорд┐рдХрд╛ рдореЗрдВ , рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╡реЛрдЯ рдПрдХрддреНрд░ рдХрд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕реА рд░реЗрдЦрд╛:---Foo---bAr---
рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо --- рдлреВ --- bAr ---рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдпреЗ рддрд╛рд░, рдлрд┐рд░ рднреА, рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдорджрдж рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдЬрдЯрд┐рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕рд░рд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдРрд╕реЗ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдФрд░ рдмрд╣реБрдореБрдЦреА рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрдард┐рди рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛редрдЪрд▓реЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдХрдИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред1. String.js
рдкреБрд╕реНрддрдХрд╛рд▓рдп string.js
, рдпрд╛ рдмрд╕ S
, рдпрд╣ рдПрдХ рдЫреЛрдЯрд╛ (5 Kb рд╕реЗ рдХрдо рдХреА рдиреНрдпреВрдирддрдо рдФрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд) рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ Node.js. рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реЗрдЯ рджреЗрддрд╛ рд╣реИред рдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ string.js
, рдЬреЛ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдПрдХ рд╡рд╕реНрддреБ string.js
рдирд┐рдпрдорд┐рдд рддрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЖрд╡рд░рдг рд╣реИредтЦНInstallation
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП string.js
, рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:npm i string
ред рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рддрд░реАрдХреЗ
рд╡рд┐рдзрд┐ рдХреЗ рдмреАрдЪ
рд╡рд┐рдзрд┐ between(left, right)
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдорд╛рд╣рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ left
рдФрд░ right
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рджреЛ HTML рдЯреИрдЧ рдХреЗ рдмреАрдЪ рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:var S = require('string');
S('<a>This is a link</a>').between('<a>', '</a>').s
рдКрдВрдЯ рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ camelize()
рд╕рдВрд╕рд╛рдзрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди, рдЕрдВрдбрд░рд╕реНрдХреЛрд░, рдбреИрд╢ рдХреЛ рд╣рдЯрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ "рдКрдВрдЯ" рд╢реИрд▓реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдордЧреНрд░реА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредvar S = require('string');
S('---Foo---bAr---').camelize().s;
рдорд╛рдирд╡реАрдХрд░рдг рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ humanize()
рд╕рдВрд╕рд╛рдзрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрдардиреАрдп рд░реВрдк рдореЗрдВ рд▓рд╛рддреА рд╣реИред рдпрджрд┐ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдРрд╕рд╛ рдХреБрдЫ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рддреЛ рдХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛редvar S = require('string');
S(' capitalize dash-CamelCase_underscore trim ').humanize().s
рдкрдЯреНрдЯреАрдХрд░рдг рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ stripPunctuation()
рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрди рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдЬреИрд╕реЗ рддрд╛рд░рд╛рдВрдХрди рдФрд░ рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдирд┐рдХрд╛рд▓рддреА рд╣реИред рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ - рдХрд┐рд╕реА рднреА рдЪрд░рд┐рддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдиреЗ рдХрд╛ рдПрдХ рдЙрдЪреНрдЪ рдЬреЛрдЦрд┐рдо рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПредvar S = require('string');
S('My, st[ring] *full* of %punct)').stripPunctuation().s;
тЖТ рдпрд╣рд╛рдБ рдЖрдк рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдЗрд╕рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред2. рд╡реЛрдХ
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА Voca
рд╣рдореЗрдВ рдореВрд▓реНрдпрд╡рд╛рди рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдЬреЛ рддрд╛рд░ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИрдВред рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:- рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдорд╛рдорд▓рд╛ рдмрджрд▓реЗрдВред
- рд╕рдордпрд░реЗрдЦрд╛ рдХреЗ рдЖрд░рдВрдн рдФрд░ рдЕрдВрдд рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд░реНрдг рд╣рдЯрд╛рддрд╛ рд╣реИред
- рджреА рдЧрдИ рд▓рдВрдмрд╛рдИ рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛрдбрд╝рдирд╛ред
- рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓рдирд╛, рд╢рдмреНрдж рдЬрд┐рд╕рдореЗрдВ рд╣рд╛рдЗрдлрд╝рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рдПрдХ рддрд╛рд░ рд▓реЗрдЦрдиред
- рдкреИрдЯрд░реНрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ред
- рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдорд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕
- HTML рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЛ рдмрдЪрд╛рдирд╛ред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдореЙрдбреНрдпреВрд▓рд░ рдбрд┐рдЬрд╛рдЗрди, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреВрд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпред рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрдВрдбрд▓реЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рд╣реИредтЦНInstallation
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Voca
рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:npm i voca
ред рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рддрд░реАрдХреЗ
CamelCase рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ camelCase()
рдЗрд╕реЗ "рдКрдВрдЯ" рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдзрд░реНрдорд╛рдиреНрддрд░рд┐рдд рдХрд░рддреА рд╣реИредvar v = require('voca');
v.camelCase('foo Bar');
v.camelCase('FooBar');
v.camelCase('---Foo---bAr---');
рд▓реИрдЯрд┐рди рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ latinize()
рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рддреА рд╣реИ рдЬреЛ рдЗрд╕реЗ рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИредvar v = require('voca');
v.latinise('cafe\u0301');
v.latinise('ao├╗t d├йcembre');
v.latinise(' ');
IsAlphaDigit рд╡рд┐рдзрд┐
рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдЕрд▓реНрдлрд╝рд╛рдиреНрдпреВрдореЗрд░рд┐рдХ рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд isAlphaDigit()
рдХрд░рддреА рд╣реИ, true
рддреЛ рд╡рд┐рдзрд┐ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИ редvar v = require('voca');
v.isAlphaDigit('year2020');
v.isAlphaDigit('1448');
v.isAlphaDigit('40-20');
рдЧрдгрдирд╛ рдХрд╛ рддрд░реАрдХрд╛
рдЗрд╕ рд╡рд┐рдзрд┐ countWords()
рдореЗрдВ рджрд┐рдП рдЧрдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╢рдмреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИредvar v = require('voca');
v.countWords('gravity can cross dimensions');
v.countWords('GravityCanCrossDimensions');
v.countWords('Gravity - can cross dimensions!');
рднрд╛рдЧрдиреЗ рдХреА рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ escapeRegExp()
рдЙрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЖрдзрд╛рд░ рдорд╛рдирддреА рд╣реИ рдЬреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╕реЗ рдЧреБрдЬрд░рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдмрдЪ рдЬрд╛рддреЗ рд╣реИрдВредvar v = require('voca');
v.escapeRegExp('(hours)[minutes]{seconds}');
тЖТ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБVoca
рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ3. achorme.js
рдпрд╣ рдкрд╛рда рдореЗрдВ URL рдФрд░ рдИрдореЗрд▓ рдкрддреЗ рдЦреЛрдЬрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рддреЗрдЬрд╝ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:- рдЙрдЪреНрдЪ рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛, рдХрдо рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рджрд░ред
- рдЖрдИрдПрдПрди рдкреВрд░реА рд╕реВрдЪреА рд╕реЗ рд▓рд┐рдВрдХ рдФрд░ рдИрдореЗрд▓ рдкрддреЗ рдХреА рдорд╛рдиреНрдпрддрд╛ред
- рдкреЛрд░реНрдЯ рдирдВрдмрд░реЛрдВ рдХреА рд╡реИрдзрддрд╛ (рдпрджрд┐ рдХреЛрдИ рд╣реЛ)ред
- рдЖрдИрдкреА тАЛтАЛрдкрддреЗ рдХрд╛ рд╕рддреНрдпрд╛рдкрди (рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ)ред
- рд▓реИрдЯрд┐рди рд╡рд░реНрдгреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦреЗ рдЧрдП URL рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред
тЦНInstallation
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, anchorme.js
рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:npm i anchorme
тЦНUse
import anchorme from "anchorme";
const input = "some text with a link.com";
const resultA = anchorme(input);
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредтЖТ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБanchorme.js
рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ4. рдЕрдВрдбрд░рд╕реНрдХреЛрд░.рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП underscore.string
рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ underscore.js
, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд▓рдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ underscore.js
ред рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдерд╛ prototype.js
, right.js
рдФрд░ underscore.js
редрдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдХрдИ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рджреЗрддрд╛ рд╣реИред рдпреЗ рдЙрдирдореЗ рд╕реЗ рдХреБрдЫ рд╣реИ:- рдкреВрдВрдЬреА рд▓рдЧрд╛рдирд╛ ();
- рд╕реНрд╡рдЪреНрдЫ ();
- рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ();
- рдЧрд┐рдирддреА ();
- рдПрд╕реНрдХреЗрдк HTML ();
- unescapeHTML ();
- рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ ();
- рдмреНрдпрд╛рд╣ ();
- рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЛ ();
- рдЗрд╕реА рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ ();
- рд╢реАрд░реНрд╖рдХ ();
- рдЯреНрд░рд┐рдо ();
- truncate ()ред
тЦНInstallation
рдпрд╣рд╛рдВ рд╡рд╣ рдХрдорд╛рдВрдб рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:npm i underscore.string
ред рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рддрд░реАрдХреЗ
рдирдВрдмрд░рдлрд╝реЙрд░реНрдореИрдЯ рд╡рд┐рдзрд┐
рдкрджреНрдзрддрд┐ рдХреЛ numberFormat()
рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредvar _ = require("underscore.string");
_.numberFormat(1000, 3)
_.numberFormat(123456789.123, 5, '.', ',');
рд▓реЗрд╡реЗрдВрд╕рд╣рд╛рдЗрдЯ рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ levenshtein()
рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмреАрдЪ рд▓реЗрд╡реЗрдиреНрд╕рд╣рд╛рдЗрдЯ рджреВрд░реА рд▓реМрдЯрд╛рддреА рд╣реИред рдЗрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ рдпрд╣рд╛рдБ редvar _ = require("underscore.string");
_.levenshtein('kitten', 'kittah');
рдЪреМрдк рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ chop()
рдЗрд╕реЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреА рд╣реИредvar _ = require("underscore.string");
_.chop('whitespace', 3);
тЖТ рдпрд╣рд╛рдБ рдПрдХ рдкреГрд╖реНрда рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВunderscore.string
5. рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ stringz
рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИредрдпрджрд┐, рдХрд┐рд╕реА рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдирд┐рдореНрди рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ 2 рд╣реИред
рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ JS-string рд╡рд┐рдзрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ length()
рдХреЗ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддреА рд╣реИ, рдФрд░ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреБрдЫ рд╡рд░реНрдг рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ 010000тАУ03FFFF
рдФрд░ 040000тАУ10FFFF
рдХреЛрдб рдмрд┐рдВрджреБ рдХреЗ рдЕрдиреБрд╕рд╛рд░ 4 рдмрд╛рдЗрдЯреНрд╕ (32 рдмрд┐рдЯреНрд╕) рддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрддреНрддрд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ: рдХреБрдЫ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ 2 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредтЖТ рдпрд╣рд╛рдБ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рджреА рдЧрдИ рд╣реИредтЦНInstallation
рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:npm i stringz
ред рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рддрд░реАрдХреЗ
рд╕реАрдорд╛ рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ limit()
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рдВрдмрд╛рдИ рддрдХ рд▓реЗ рдЬрд╛рддреА рд╣реИред
ToArray рд╡рд┐рдзрд┐
рд╡рд┐рдзрд┐ toArray()
рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИред
тЖТ рдпрд╣рд╛рдБ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднрдВрдбрд╛рд░ рдкреГрд╖реНрда рд╣реИредрдФрд░ рддрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХреМрди рд╕реЗ рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?рд╣рдо рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдЬрд╛рд░реА рд░рдЦ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдПрдХ рдирдпрд╛ рдЖрдИрдлреЛрди рдЬреАрдд рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рд╕рдордп рд╣реИ, рдФрд░ рд╕рд╛рдордпрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдкрд░ рд╕рдмрд╕реЗ рд╕рдЯреАрдХ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
