# string-utils.js **Repository Path**: janpoem/string-utils.js ## Basic Information - **Project Name**: string-utils.js - **Description**: PHP的trim函数加强版 —— 将PHP的trim加强并实现在JS(基于locutus 的 php/string/trim 和 lodash 的 toString) - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2018-11-17 - **Last Updated**: 2022-10-15 ## Categories & Tags **Categories**: utils **Tags**: None ## README # string-utils.js [![Npm version](https://img.shields.io/npm/v/@keworks/string-utils.svg)](https://www.npmjs.com/package/@keworks/string-utils) [![Gitee Go gitee-go-test](https://gitee.com/janpoem/string-utils.js/badge/giteego.svg?name=gitee-go-test&id=13599)](https://gitee.com/janpoem/string-utils.js/gitee_go/13599?branch=master) [![Build Status](https://travis-ci.org/janpoem/string-utils.js.svg?branch=master)](https://travis-ci.org/github/janpoem/string-utils.js) [_原 php-trim-plus_](https://www.npmjs.com/package/php-trim-plus) Javascript 字符串处理的实用程序。保留原 php-trim-plus 的所有特性,并扩展了对 Buffer、ArrayBuffer、TypedBuffer的支持。 目前主要提供如下的函数工具: * toSafeString * isBufferObject, bufferToString * trim, ltrim, rtrim * isEmptyString, isEmptyStringOrWhitespace * isString, isSymbol (from lodash) ## 使用说明 ### toSafeString * unicode 正规化处理 * 传入数组打扁,实用 join 处理 * Symbol 提取字符 * 函数转为空字符 * 对象,优先尝试执行对象的 toString 方法 ```js toSafeString(value) // 处理数组时,第二个字符为数组拼接的连接符 toSafeString(['a', 'b', 'c'], '/'); // 'a/b/c' // 处理 buffer 时,第二个参数为 encoding toSafeString(Buffer.from('hello'), 'base64'); ``` ### trim ```js trim(str, charList, isPlus) ltrim(str, charList, isPlus) rtrim(str, charList, isPlus) trim(' 开源中国 '); // '开源中国' trim(' 红薯-- ', '-'); // '红薯' ``` `str: string` 要截取的字符串 `charList: string` 要额外截取的字符串 `isPlus: boolean` 对 charList 是在现有空字符的基础上追加 charList,默认为 true,`trim.Replace` or `trim.Plus` ### isEmptyString, isEmptyStringOrWhitespace ```js isEmptyString(value); isEmptyString(null); // true isEmptyString(undefined); // true isEmptyString(''); // true isEmptyString([]); // true 当前版本修改 isEmptyString({}); // false ``` 是否为空白字符串,这里不会对 `value` 进行trim,如果需要检查是否为纯粹的空格,请使用 `isEmptyStringOrWhitespace`。 ```js isEmptyStringOrWhitespace(value); isEmptyStringOrWhitespace(null); // true isEmptyStringOrWhitespace(undefined); // true isEmptyStringOrWhitespace(''); // true isEmptyStringOrWhitespace(' '); // true isEmptyStringOrWhitespace('\t'); // true isEmptyStringOrWhitespace('\n'); // true isEmptyStringOrWhitespace([]); // true 当前版本修改 isEmptyStringOrWhitespace({}); // false ``` 是否为空白字符串或者是只包含空格符号的空白字符串,这里对 `value` 进行trim。 ```js isSymbol(value); ``` 判断值是否为Symbol