StringUtils.ts 1.41 KB
/**
 * StringUtils class.
 */
export class StringUtils {
  /**
   *  The String utils tag.
   */
  private static readonly TAG: string = 'StringUtils';
  // 评分-整数或浮点数
  private static readonly SCORE_REG_EXP = RegExp(/^(\d+)(\.\d+)?$/);

  /**
   * Check string is empty.
   *
   * @param {object} any
   * @return {boolean} true(empty)
   */
  static isEmpty(...params: any): boolean {
    if (params.length === 0) {
      return true;
    }
    for (const param of params) {
      if (!param) { // param === undefined || param === null || param === '';
        return true;
      }
    }
    return false;
  }

  /**
   * Check obj is not empty.
   *
   * @param {object} obj
   * @return {boolean} true(not empty)
   */
  static isNotEmpty(obj: any): boolean {
    // return (obj && obj !== '');
    // 或
    return (obj !== undefined && obj !== null && obj !== '');
  }


  static parseNumber(input: string): number {
    // let input: string = '135'  // 135
    // let input: string = '135T' // NaN
    // let input: string = 'ytr'  // NaN
    // let input: string = ''     // 0
    // let input: string = null   // 0
    // let input: string = undefined  // NaN
    const parsedInt = Number(input)
    if (!isNaN(parsedInt)) {
      return parsedInt
    } else {
      return 0
    }
  }

  static isScore(text: string): boolean {
    return StringUtils.SCORE_REG_EXP.test(text);
  }
}

// export default new StringUtils();