整理项目中经常用到的正则

目录

1、手机号码

2、Email 邮箱

3、QQ 号码

4、非零正整数

5、URL 地址

6、身份证号


项目中难免会经常使用到表单,而表单项校验就需要用到正则,

所以整理总结一下自己项目中使用比较频繁的一些正则校验逻辑。

正则表达式 是由一些具有特殊含义的字符组成的字符串,多用于查找、替换符合规则

的字符串。在表单验证、Url映射等处都会经常用到。

在写正则表达式的时候,我们需要把模式写入一对 / / 正斜杠里面

/正则表达式/匹配模式

1、手机号码

/**
 * 手机号码正则
 * @param {string} phone
 * @returns {Boolean}
 */
export function validPhone(phone) {
  // const reg = /^1[3456789]\d{9}$/;
  const reg =
    /^\s{0}$|(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
  return reg.test(phone);
}

2、Email 邮箱

/**
 * Email 邮箱正则
 * @param {string} phone
 * @returns {Boolean}
 */
export function validEmail(emial) {
  const reg =
    /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z-0-9]+\.)+[a-zA-Z]{2,}))$/;
  return reg.test(emial);
}

3、QQ 号码

/**
 * QQ 号码
 * @param {string} QQ
 * @returns {Boolean}
 */
export function validQQ(QQ) {
  const reg = /^[1-9][0-9]{4,10}$/;
  return reg.test(QQ);
}

4、非零正整数

/**
 * 非零的正整数
 * @param {string} integer
 * @returns {Boolean}
 */
export function validInteger(integer) {
  const reg = /^[1-9]\d*$/;
  return reg.test(integer);
}

5、URL 地址

/**
 * url 地址
 * @param {string} url
 * @returns {Boolean}
 */
export function validURL(url) {
  const reg =
    /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
  return reg.test(url);
}

6、身份证号

/**
 * 身份证号
 * @param {string} id
 * @returns {Boolean}
 */
export function validId(id) {
  const reg =
    /^[1-9][0-9]{5}(18|19|([23][0-9]))[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9Xx]$/gm;
  return reg.test(id);
}

7、


推荐小白观看文章 :

正则表达式 _ 基础版


元字符    描述
.      查找单个字符,除了换行和行结束符
\w    查找单词字符
\W    查找非单词字符
\d    查找数字
\D    查找非数字字符
\s    查找空白字符
\S    查找非空白字符
\b    匹配单词边界
\B    匹配非单词边界
\0    查找 NUL字符
\n    查找换行符
\f    查找换页符
\r    查找回车符
\t    查找制表符
\v    查找垂直制表符
\xxx    查找以八进制数 xxxx 规定的字符
\xdd    查找以十六进制数 dd 规定的字符
\uxxxx    查找以十六进制 xxxx规定的 Unicode 字符


重复类量词列表
量词    描述
n+    匹配任何包含至少一个 n 的字符串
n*    匹配任何包含零个或多个 n 的字符串
n?    匹配任何包含零个或一个 n 的字符串
n{x}    匹配包含 x 个 n 的序列的字符串
n{x,y}    匹配包含最少 x 个、最多 y 个 n 的序列的字符串
n{x,}    匹配包含至少 x 个 n 的序列的字符串


JavaScript 正则表达式支持的边界量词
量词    说明
^    匹配开头,在多行检测中,会匹配一行的开头
$    匹配结尾,在多行检测中,会匹配一行的结尾


终于码完辣!你学废了吗?码字不易,大家多多点赞支持!


会持续更新的, Loading。。。

相关推荐

  1. 整理项目经常

    2024-05-12 06:48:08       29 阅读
  2. 谈谈Python表达式及其法。

    2024-05-12 06:48:08       39 阅读
  3. Qt表达式

    2024-05-12 06:48:08       44 阅读
  4. 表达式 ?

    2024-05-12 06:48:08       29 阅读
  5. jquery 整理

    2024-05-12 06:48:08       32 阅读
  6. 表达式

    2024-05-12 06:48:08       57 阅读
  7. shell表达式---RE

    2024-05-12 06:48:08       59 阅读
  8. 精通Python表达式

    2024-05-12 06:48:08       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 06:48:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 06:48:08       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 06:48:08       82 阅读
  4. Python语言-面向对象

    2024-05-12 06:48:08       91 阅读

热门阅读

  1. word内容wxml转化html标签对照表

    2024-05-12 06:48:08       34 阅读
  2. Golang reflect.MakeFunc() 的用法及示例

    2024-05-12 06:48:08       30 阅读
  3. 软件定义汽车七大典型应用场景

    2024-05-12 06:48:08       34 阅读
  4. react18封装公共请求函数

    2024-05-12 06:48:08       31 阅读
  5. NLP和chatGpt的关系

    2024-05-12 06:48:08       29 阅读
  6. Bert基础(二十二)--Bert实战:对话机器人

    2024-05-12 06:48:08       33 阅读
  7. 【网络】为什么TCP需要四次挥手?

    2024-05-12 06:48:08       33 阅读
  8. Emmy load workspace 排除一些目录

    2024-05-12 06:48:08       26 阅读