Skip to content

API 文档 - str 模块 #4

Description

@cssmagic

API 文档 - str 模块

JavaScript 变量

以下预定义的变量在业务层可以直接使用。

.RE_EMAIL

校验电子邮箱的正则表达式。

示例

gearbox.str.RE_EMAIL.test('foo@bar.com')// => truegearbox.str.RE_EMAIL.test('foo@bar')// => falsegearbox.str.RE_EMAIL.test('foo.bar.cn')// => false

.RE_MOBILE

校验手机号的正则表达式。

手机号必须是中国大陆的手机号,11 位数字,不可包含空格、横杠等特殊字符。

示例

gearbox.str.RE_MOBILE.test('13355668899')// => truegearbox.str.RE_MOBILE.test('021-55668899')// => falsegearbox.str.RE_MOBILE.test('10086')// => false

.RE_POSTCODE

校验邮政编码的正则表达式。

邮政编码必须是中国大陆的邮政编码,6 位数字,不可包含空格、横杠等特殊字符。

示例

gearbox.str.RE_POSTCODE.test('200030')// => truegearbox.str.RE_POSTCODE.test('4008517517')// => falsegearbox.str.RE_POSTCODE.test('1234')// => false

.CNY

别名.RMB

人民币符号 ¥

.FULL_WIDTH_CNY

别名.FULL_WIDTH_RMB

全角的人民币符号

示例

// 将所有全角的人民币符号替换为半角vartext='¥1000 - ¥2000'text.split(gearbox.str.FULL_WIDTH_CNY).join(gearbox.str.CNY)// => '¥1000 - ¥2000'

JavaScript 接口

.isHash(string)

判断是否为 hash 字符串。

Hash 字符串以 # 开头,比如 #foo 就是一个 hash 字符串。这种字符串通常出现于链接锚点(<a href="#anchor">bar</a>)、ID 选择符($('#id'))、Twitter 标签或 location.hash 的值等等。

字符串开头的空白符将被忽略,不影响判断结果。

参数

  • string -- 字符串。需要判断的字符串。

返回值

布尔值。判断结果。

示例

gearbox.str.isHash('#foo')// => truegearbox.str.isHash('bar')// => falsegearbox.str.isHash(' #foo-bar')// => true

.stripHash(string)

去除 hash 字符串开头的 # 字符。

字符串头尾的空白符也将被去除。

参数

  • string -- 字符串(非字符串会被强制转换为字符串)。需要处理的字符串。

返回值

字符串。处理结果。

示例

gearbox.str.stripHash('#foo')// => 'foo'gearbox.str.stripHash('bar')// => 'bar'gearbox.str.stripHash(' #foo-bar')// => 'foo-bar'

.toFloat(string)

转换为浮点数。

可以视为 parseFloat() 的别名。

参数

  • string -- 字符串。

返回值

数字。转换结果。

示例

gearbox.str.toFloat('0')// => 0gearbox.str.toFloat('1.77')// => 1.77gearbox.str.toFloat('2.3.6')// => 2.3gearbox.str.toFloat('2e3')// => 2000gearbox.str.toFloat('1.23foo')// => 1.23gearbox.str.toFloat('foo123')// => NaN

.toInt(string)

转换为整数。

可以视为 parseInt(string, 10) 的别名。直接取整,不做舍入。

参数

  • string -- 字符串。

返回值

数字。转换结果。

示例

gearbox.str.toInt('0')// => 0gearbox.str.toInt('1.77')// => 1gearbox.str.toInt('2.3.6')// => 2gearbox.str.toInt('2e3')// => 2000gearbox.str.toInt('1.23foo')// => 1gearbox.str.toInt('foo123')// => NaN

.toFixed(string, [i])

转换为固定位数的小数。会做舍入。

Number.prototype.toFixed() 的功能类似,但此接口接收字符串,输出数字。

参数

  • string -- 字符串。
  • i -- 可选。整数。保留的位数。默认值为 0

返回值

数字。转换结果。

示例

gearbox.str.toFixed('0')// => 0gearbox.str.toFixed('0',2)// => 0gearbox.str.toFixed('1.77')// => 2gearbox.str.toFixed('1.77',1)// => 1.8gearbox.str.toFixed('2.3.6',2)// => 2.3gearbox.str.toFixed('2e3',3)// => 2000gearbox.str.toFixed('1.23foo',1)// => 1.2gearbox.str.toFixed('foo123')// => NaN

Underscore.string 同名接口

str 模块提供的部分接口与 Underscore.string 类库的同名接口完全一致。这些接口的源码均引用了 Underscore.string 的实现,并存放在 src/str-backup.js 文件中。

字符串裁剪

  • .trim(string, [characters])

    请参考 Underscore.string 的文档: trim

  • .ltrim(string, [characters])

    请参考 Underscore.string 的文档: ltrim

  • .rtrim(string, [characters])

    请参考 Underscore.string 的文档: rtrim

字符串包含关系

  • .includes(string, substring)

    别名.contains()

    请参考 Underscore.string 的文档: include

    注意:从 Gearbox v0.6 开始,.include() 已弃用,已改名为 .includes()

  • .startsWith(string, starts, [position])

    请参考 Underscore.string 的文档: startsWith

  • .endsWith(string, ends, [position])

    请参考 Underscore.string 的文档: endsWith

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions