blear.utils.string

1Introduction

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
  • 说明:填充的字符
  • 默认: (1 个空白字符)

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
  • 说明:填充的字符
  • 默认: (1 个空白字符)

3.7.4padStr

  • 类型:String
  • 说明:填充后的字符串

3.8.escapeHTML(str, [all=false]): escapedStr

编码字符串为 html 实体符。

string.escapeHTML('<b>');
// => "&lt;br&gt;"

string.escapeHTML('<b>', true);
// => "&#60;&#98;&#114;&#62;"

3.8.1str

  • 类型:String

3.8.2all

  • 类型:String
  • 说明:是否编码所有字符
  • 默认:false

3.8.3escapedStr

  • 类型:String

3.9.unescapeHTML(str): unescapedStr

反编码 html 实体符为普通字符串。

string.unescapeHTML('&lt;b&gt;');
// => "<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