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 的值等等。
字符串开头的空白符将被忽略,不影响判断结果。
参数
返回值
布尔值。判断结果。
示例
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() 的别名。
参数
返回值
数字。转换结果。
示例
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) 的别名。直接取整,不做舍入。
参数
返回值
数字。转换结果。
示例
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')// => NaNUnderscore.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
API 文档 -
str模块JavaScript 变量
以下预定义的变量在业务层可以直接使用。
.RE_EMAIL校验电子邮箱的正则表达式。
示例
.RE_MOBILE校验手机号的正则表达式。
手机号必须是中国大陆的手机号,11 位数字,不可包含空格、横杠等特殊字符。
示例
.RE_POSTCODE校验邮政编码的正则表达式。
邮政编码必须是中国大陆的邮政编码,6 位数字,不可包含空格、横杠等特殊字符。
示例
.CNY人民币符号
¥。.FULL_WIDTH_CNY全角的人民币符号
¥。示例
JavaScript 接口
.isHash(string)判断是否为 hash 字符串。
Hash 字符串以
#开头,比如#foo就是一个 hash 字符串。这种字符串通常出现于链接锚点(<a href="#anchor">bar</a>)、ID 选择符($('#id'))、Twitter 标签或location.hash的值等等。字符串开头的空白符将被忽略,不影响判断结果。
参数
string-- 字符串。需要判断的字符串。返回值
布尔值。判断结果。
示例
.stripHash(string)去除 hash 字符串开头的
#字符。字符串头尾的空白符也将被去除。
参数
string-- 字符串(非字符串会被强制转换为字符串)。需要处理的字符串。返回值
字符串。处理结果。
示例
.toFloat(string)转换为浮点数。
可以视为
parseFloat()的别名。参数
string-- 字符串。返回值
数字。转换结果。
示例
.toInt(string)转换为整数。
可以视为
parseInt(string, 10)的别名。直接取整,不做舍入。参数
string-- 字符串。返回值
数字。转换结果。
示例
.toFixed(string, [i])转换为固定位数的小数。会做舍入。
与
Number.prototype.toFixed()的功能类似,但此接口接收字符串,输出数字。参数
string-- 字符串。i-- 可选。整数。保留的位数。默认值为0。返回值
数字。转换结果。
示例
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)请参考 Underscore.string 的文档:
include注意:从 Gearbox v0.6 开始,
.include()已弃用,已改名为.includes()。.startsWith(string, starts, [position])请参考 Underscore.string 的文档:
startsWith.endsWith(string, ends, [position])请参考 Underscore.string 的文档:
endsWith