HarmonyOS 鸿蒙Next 求判空字符串,判断是不是手机号 等基础方法

HarmonyOS 鸿蒙Next 求判空字符串,判断是不是手机号 等基础方法

能不能提供一个基础功能类,包含一些基础功能,比如
求判空字符串,判断是不是手机号 等基础方法

2 回复

可参考此三方库:https://ohpm.openharmony.cn/#/cn/detail/@yunkss%2Feftool

目前官方api没有直接操作使用基础工具类,也可以根据实际需求进行一下类/方法的封装。

找了一些正则案例,您同时可以参考下:


// 常用的正则规则

// eslint-disable-next-line

interface GeneratedObjectLiteralInterface_1 {

  IDcard: RegExp;

  mobile: RegExp;

  telephone: RegExp;

  num: RegExp;

  phoneNo: RegExp;

  policeNo: RegExp;

  pwd: RegExp;

  isNumAlpha: RegExp;

  isAlpha: RegExp;

  isNumAlphaCn: RegExp;

  isPostCode: RegExp;

  isNumAlphaUline: RegExp;

  isNumAndThanZero: RegExp;

  isNormalEncode: RegExp;

  isTableName: RegExp;

  isInt: RegExp;

  isTableOtherName: RegExp;

  isText_30: RegExp;

  isText_50: RegExp;

  isText_20: RegExp;

  isText_100: RegExp;

  isText_250: RegExp;

  isNotChina: RegExp;

  IDcardAndAdmin: RegExp;

  IDcardTrim: RegExp;

  num1: RegExp;

  companyNO: RegExp;

  imgType: RegExp;

  isChina: RegExp;

  isNozeroNumber: RegExp;

  isEmptyStr: RegExp;

  float: RegExp;

}

let regExpConfig: GeneratedObjectLiteralInterface_1 = {

  IDcard: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/, // 身份证

  mobile: /^1([3|4|5|7|8|])\d{9}$/, // 手机号码

  telephone: /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/, // 固定电话

  num: /^[0-9]*$/, // 数字

  phoneNo: /(^1([3|4|5|7|8|])\d{9}$)|(^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$)/, // 电话或者手机

  policeNo: /^[0-9A-Za-z]{4,10}$/, // 账号4-10位数字或字母组成

  pwd: /^[0-9A-Za-z]{6,16}$/, // 密码由6-16位数字或者字母组成

  isNumAlpha: /^[0-9A-Za-z]*$/, // 字母或数字

  isAlpha: /^[a-zA-Z]*$/, // 是否字母

  isNumAlphaCn: /^[0-9a-zA-Z\u4E00-\uFA29]*$/, // 是否数字或字母或汉字

  isPostCode: /^[\d\-]*$/i, // 是否邮编

  isNumAlphaUline: /^[0-9a-zA-Z_]*$/, // 是否数字、字母或下划线

  isNumAndThanZero: /^([1-9]\d*(\.\d+)?|0)$/, // 是否为整数且大于0/^[1-9]\d*(\.\d+)?$/

  isNormalEncode: /^(\w||[\u4e00-\u9fa5]){0,}$/, // 是否为非特殊字符(包括数字字母下划线中文)

  isTableName: /^[a-zA-Z][A-Za-z0-9\#\$\_\-]{0,29}$/, // 表名

  isInt: /^-?\d+$/, // 整数

  isTableOtherName: /^[\u4e00-\u9fa5]{0,20}$/, // 别名

  isText_30: /^(\W|\w{1}){0,30}$/, // 匹配30个字符,字符可以使字母、数字、下划线、非字母,一个汉字算1个字符

  isText_50: /^(\W|\w{1}){0,50}$/, // 匹配50个字符,字符可以使字母、数字、下划线、非字母,一个汉字算1个字符

  isText_20: /^(\W|\w{1}){0,20}$/, // 匹配20个字符,字符可以使字母、数字、下划线、非字母,一个汉字算1个字符

  isText_100: /^(\W|\w{1}){0,100}$/, // 匹配100个字符,字符可以使字母、数字、下划线、非字母,一个汉字算1个字符

  isText_250: /^(\W|\w{1}){0,250}$/, // 匹配250个字符,字符可以使字母、数字、下划线、非字母,一个汉字算1个字符

  isNotChina: /^[^\u4e00-\u9fa5]{0,}$/, // 不为中文  IDcard: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/, // 身份证

  IDcardAndAdmin: /^(([1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X))|(admin))$/, // 身份证或者是admin账号

  IDcardTrim: /^\s*(([1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3})|([1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X))|(admin))\s*$/, // 身份证

  num1: /^[1-9]*$/, // 数字

  companyNO: /^qqb_[0-9a-zA-Z_]{1,}$/, // 公司人员账号

  imgType: /image\/(png|jpg|jpeg|gif)$/, // 上传图片类型

  isChina: /^[\u4e00-\u9fa5]{2,8}$/,

  isNozeroNumber: /^\+?[1-9]\d*$/, // 大于零的正整数

  isEmptyStr:/^\s*$/, //字符串是否为空

  float: /^\d+(\.?|(\.\d+)?)$/, // 匹配正整数或者小数 或者0.这个特殊值

}

export default regExpConfig

更多关于HarmonyOS 鸿蒙Next 求判空字符串,判断是不是手机号 等基础方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,对于字符串判空和判断是否为手机号等基础方法,可以使用以下代码示例:

1. 判空字符串

bool isStringEmpty(const std::wstring& str) {
    return str.empty();
}

该函数接收一个宽字符串(wstring),返回布尔值,表示字符串是否为空。

2. 判断是否为手机号 手机号判断通常涉及正则表达式匹配。以下是一个简单的例子:

#include <regex>

bool isPhoneNumber(const std::wstring& str) {
    std::wregex phonePattern(L"^1[3-9]\\d{9}$"); // 示例正则,匹配中国大陆手机号
    return std::regex_match(str, phonePattern);
}

该函数接收一个宽字符串,使用正则表达式匹配中国大陆手机号格式(1开头,第二位是3-9,后接9位数字),返回布尔值表示是否匹配。

注意:正则表达式可以根据具体需求调整。例如,如果需要匹配其他国家的手机号格式,需修改正则表达式。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部