mirror of https://github.com/allinssl/allinssl
2.8 KiB
2.8 KiB
字符串处理工具函数文档
这个模块提供了一系列用于字符串处理的实用工具函数。该模块使用 Ramda.js 进行函数式编程,并提供了完整的 TypeScript 类型支持。
目录
URL 处理
URL 参数转对象
urlToObject(url: string): Record<string, string>
urlToObjectCurried(url: string): Record<string, string>
将 URL 字符串中的查询参数转换为对象。提供普通版本和柯里化版本。
示例:
const url = 'https://example.com?name=Alice&age=25'
urlToObject(url) // 返回: { name: 'Alice', age: '25' }
const parseUrl = urlToObjectCurried('https://example.com?name=Alice&age=25')
parseUrl // 返回: { name: 'Alice', age: '25' }
HTML 转义
HTML 字符转义
htmlEscape(str: string, isReverse: boolean = false): string
对 HTML 字符串进行转义或反转义。
参数:
str
: 要转义的字符串isReverse
: 是否进行反转义(默认 false)
支持的转义字符:
- & -> &
- < -> <
-
-> >
- " -> "
- ' -> '
示例:
// 转义
htmlEscape('<div>Hello & World</div>')
// 返回: '<div>Hello & World</div>'
// 反转义
htmlEscape('<div>Hello & World</div>', true)
// 返回: '<div>Hello & World</div>'
命名格式转换
小驼峰转下划线
camelToUnderline(str: string): string
将小驼峰命名转换为下划线命名。
示例:
camelToUnderline('userName') // 返回: 'user_name'
下划线转小驼峰
underlineToCamel(str: string): string
将下划线命名转换为小驼峰命名。
示例:
underlineToCamel('user_name') // 返回: 'userName'
下划线转大驼峰
underlineToBigCamel(str: string): string
将下划线命名转换为大驼峰命名。
示例:
underlineToBigCamel('user_name') // 返回: 'UserName'
大驼峰转下划线
bigCamelToUnderline(str: string): string
将大驼峰命名转换为下划线命名。
示例:
bigCamelToUnderline('UserName') // 返回: 'user_name'
特点
- 使用 TypeScript 编写,提供完整的类型支持
- 使用 Ramda.js 进行函数式编程
- 提供 URL 参数解析的柯里化版本
- 支持 HTML 字符的双向转义
- 提供完整的命名格式转换工具
注意事项
- URL 解析使用标准的 URL API
- HTML 转义支持最常用的五种字符
- 命名格式转换保持原字符串的大小写特性
- 柯里化函数便于函数组合
- 所有函数都是纯函数,不会修改原始数据