1Introduction
- description:string utils
- author:#云淡然
- create:未明确
- update:未明确
- github:https://github.com/blearjs/blear.utils.string
2Example
var string = require('blear.utils.string');
3Static
3.1.trim(str): trimStr
本方法,未来会被删除,请使用 String.prototype.trim
代替。
3.2.ify(str): ifyStr
字符化,如果参数 null 或 undefined,则返回空字符串;否则返回 String(str)
结果
string.ify();
// => ""
string.ify(null);
// => ""
string.ify(1);
// => "1"
3.2.1str
- 类型:
*
3.2.2ifyStr
- 类型:
String
3.3.humprize(str, [upperCaseFirstChar=false]): humprizedStr
转换分隔符字符串为驼峰形式。
string.humprize('moz-border-radius');
// => "mozBorderRadius"
3.3.1str
- 类型:
String
- 说明:分隔符类型字符串
3.3.2upperCaseFirstChar
- 类型:
Boolean
- 说明:是否大写第一个字符
- 默认:
false
3.3.3humprizedStr
- 类型:
String
- 说明:驼峰形式字符串
3.4.separatorize(str, [separator="-"], [lowerCaseFirstChar=false]): separatorizedStr
转换驼峰字符串为分隔符字符串。
string.separatorize('mozBorderRadius');
// => "moz-border-radius"
3.4.1str
- 类型:
String
- 说明:驼峰形式字符串
3.4.2separator
- 类型:
String
- 说明:分隔符
- 默认:
-
3.4.3lowerCaseFirstChar
- 类型:
Boolean
- 说明:是否小写第一个字符
- 默认:
false
3.4.4separatorizedStr
- 类型:
String
- 说明:分隔符形式字符串
3.5.repeat(str, times): repeatStr
重复生成字符串。
string.repeat('abc', 3);
// => "abcabcabc"
3.5.1str
- 类型:
String
- 说明:待重复字符串
3.5.2times
- 类型:
Number
- 说明:重复次数
3.5.3repeatStr
- 类型:
String
- 说明:重复后的字符串
3.6.padStart(str, maxLength, [char=" "]): padStr
左填充字符串。
string.padStart(1, 2, '0');
// => "01"
3.6.1str
- 类型:
String
- 说明:原始字符串
3.6.2maxLength
- 类型:
Number
- 说明:字符串限制的最大长度
3.6.3char
- 类型:
String
- 说明:填充的字符
- 默认:
3.6.4padStr
- 类型:
String
- 说明:填充后的字符串
3.7.padEnd(str, maxLength, [char=" "]): padStr
右填充字符串。
string.padEnd(1, 2, '0');
// => "10"
3.7.1str
- 类型:
String
- 说明:原始字符串
3.7.2maxLength
- 类型:
Number
- 说明:字符串限制的最大长度
3.7.3char
- 类型:
String
- 说明:填充的字符
- 默认:
3.7.4padStr
- 类型:
String
- 说明:填充后的字符串
3.8.escapeHTML(str, [all=false]): escapedStr
编码字符串为 html 实体符。
string.escapeHTML('<b>');
// => "<br>"
string.escapeHTML('<b>', true);
// => "<br>"
3.8.1str
- 类型:
String
3.8.2all
- 类型:
String
- 说明:是否编码所有字符
- 默认:
false
3.8.3escapedStr
- 类型:
String
3.9.unescapeHTML(str): unescapedStr
反编码 html 实体符为普通字符串。
string.unescapeHTML('<b>');
// => "<b>"
3.9.1str
- 类型:
String
3.9.2unescapedStr
- 类型:
String
3.10.escapeRegExp(str): escapeRegExpStr
转换正则字符串为普通正则字符串。
string.escapeRegExp('/')
// => "\/"
3.10.1str
- 类型:
String
- 说明:转义字符包括:
.
*
+
?
^
=
!
:
$
{
}
(
)
|
[
]
/
\
-
3.10.2escapeRegExpStr
- 类型:
String
3.11.versionThan(v1, v2, [flag=">"]): versionThan
版本字符比较大小。
string.versionThan('1.2.2.1', '1.2.2.0', '>');
// => true
3.11.1v1
- 类型:
String
- 说明:版本 1
3.11.2v2
- 类型:
String
- 说明:版本 1
3.11.3flag
- 类型:
String
- 说明:比较类型,如
>
、<
- 默认:
>
3.11.4versionThan
- 类型:
Boolean
- 说明:比较结果
3.12.assign(str, ...args, [filter]): assignStr
分配字符串。
string.assign('Hello ${name}, how are you ${time}?', {
name: 'Bob',
time: 'today'
});
// => "Hello Bob, how are you today?"
string.assign('Hello ${1}, how are you ${2}?', 'Bob', 'today');
// => "Hello Bob, how are you today?"
string.assign('Hello ${1}, how are you ${2}?', 'Bob', 'today', function(val) {
return '[' + val + ']';
});
// => "Hello [Bob] , how are you [today]?"
3.12.1str
- 类型:
String
- 说明:使用
${varible}
表示填充变量
3.12.2...args
- 类型:
*
- 说明:待填充的变量,如果是单个参数,以对象形式表示;如果是多个则以数字形式表示(起始值为 1)
3.12.3filter
- 类型:
Function
- 说明:对传入的变量进行二次转换
- 默认:
null
3.12.4assignStr
- 类型:
String
- 说明:分配后的字符串
3.13.textify(str): textifyStr
字符串文本化。就是将字符串转换为一个引号包裹的字符串。
string.textify('abc');
// => '"abc"'
常用于 Node 端输出字符串到 html 模板引擎内。
// node
res.render('example.html', {
summary: 'abc\ndef'
});
+
<script>
var nodeSummary = "{{summary}}";
// ^^^^^^^^^^^
// 这里使用 {{ 和 }} 表示插值
// 但是这里最好 html 输出的时候会报错
</script>
=
<script>
var nodeSummary = "abc
def";
// ^^^^^^^^^
// 这不是合法字符串表示
</script>
而如果在输出前做一次转换就不会出错了:
// node
res.render('example.html', {
summary: string.textify('abc\ndef')
});
+
<script>
var nodeSummary = "{{summary}}";
// ^^^^^^^^^^^
// 这里使用 {{ 和 }} 表示插值
</script>
=
<script>
var nodeSummary = "abc\ndef";
// 这才是合法字符串表示
</script>
3.13.1str
- 类型:
String
3.13.2textifyStr
- 类型:
String
- 说明:引号包裹的字符串
4Dependencies
5Reference
- 实体符维基百科:zh.wikipedia.org
- 正则表达式 MDN:developer.mozilla.org