正则验证

2023-11-01

一、校验数字的表达式

数字:^[0-9]*$
n位的数字:^\d{2}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$
零和非零开头的数字:^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$
正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
非零的负整数:^\-[1-9][]0-9″*$ 或 ^-[1-9]\d*$
非负整数:^\d+$ 或 ^[1-9]\d*|0$
非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

标题二、校验字符的表达式

汉字:^[\u4e00-\u9fa5]{0,}$
英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符:^.{3,20}$
由26个英文字母组成的字符串:^[A-Za-z]+$
由26个大写英文字母组成的字符串:^[A-Z]+$
由26个小写英文字母组成的字符串:^[a-z]+$
由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
可以输入含有^%&',;=?$\”等字符:[^%&',;=?$\x22]+
禁止输入含有~的字符:[^~\x22]+

标题三、特殊需求表达式

    Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
    域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
    InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
    手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
    电话号码(“XXX-XXXXXXX”、”XXXX-XXXXXXXX”、”XXX-XXXXXXX”、”XXX-XXXXXXXX”、”XXXXXXX”和”XXXXXXXX):^($$\d{3,4}-)|\d{3.4}-)?\d{7,8}$
    国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
    身份证号(15位、18位数字):^\d{15}|\d{18}$
    短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
    帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
    密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$
    强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
    日期格式:^\d{4}-\d{1,2}-\d{1,2}
    一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$
    一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
    钱的输入格式:
    有四种钱的表示形式我们可以接受:”10000.00″ 和 “10,000.00″, 和没有 “分” 的 “10000″ 和 “10,000″:^[1-9][0-9]*$
    这表示任意一个不以0开头的数字,但是,这也意味着一个字符”0″不通过,所以我们采用下面的形式:^(0|[1-9][0-9]*)$
    一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?[1-9][0-9]*)$
    这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$
    必须说明的是,小数点后面至少应该有1位数,所以”10.”是不通过的,但是 “10″ 和 “10.2″ 是通过的:^[0-9]+(.[0-9]{2})?$
    这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$
    这样就允许用户只写一位小数。下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
    1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
    备注:这就是最终结果了,别忘了”+”可以用”*”替代。如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里
    xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
    中文字符的正则表达式:[\u4e00-\u9fa5]
    双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
    空白行的正则表达式:\n\s*\r (可以用来删除空白行)
    HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)
    首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
    腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)
    中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
    IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有用)
    IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则验证 的相关文章

  • 找准边界,吃定安全

    实现业务计算集中模式的云计算数据中心 云内东西向流量不可见不可控 云计算数据中心的安全建设要求再度升级 如何保障云上环境的安全运行 找准边界 吃定安全 往期文章 从访问控制谈起 再看零信任模型 威胁情报加持 泛边界下的全局主动防御体系如何着
  • 创建型模式-原型模式

    文章目录 一 原型模式 1 概述 2 结构 3 实现 4 案例 1 5 使用场景 1 6 扩展 深克隆 一 原型模式 1 概述 用一个已经创建的实例作为原型 通过复制该原型对象来创建一个和原型对象相同的新对象 2 结构 原型模式包含如下角色
  • 编译XT720 2.3.7的kernel

    这是XT720的kernel地址 https github com CyanogenModXT720 android kernel 把其中的xt720分支拷贝下来 color darkred git clone https github c
  • 大数据组件及其性能

    大数据组件有很多 以下是一些常见的大数据组件及其功能和优点的介绍 Hadoop Hadoop是一个开源的分布式计算框架 它包含了Hadoop分布式文件系统 HDFS 和MapReduce计算模型 Hadoop的功能包括存储大规模数据 并行处
  • 从properties文件中读取属性

    为了从properties文件中读取属性 建立一个辅助类 package com util import java io IOException import java util public class Tools 设计成静态变量是为了让
  • Spring Boot使用内存数据库H2和HSQLDB【从零开始学Spring Boot】

    内存数据库 Embedded database或in momery database 具有配置简单 启动速度快 尤其是其可测试性等优点 使其成为开发过程中非常有用的轻量级数据库 在spring中支持HSQL H2和Derby三种数据库 哪个
  • [网络安全提高篇] 一二〇.恶意软件动态分析经典沙箱Cape批量提取动态API特征

    终于忙完初稿 开心地写一篇博客 网络安全提高班 新的100篇文章即将开启 包括Web渗透 内网渗透 靶场搭建 CVE复现 攻击溯源 实战及CTF总结 它将更加聚焦 更加深入 也是作者的慢慢成长史 换专业确实挺难的 Web渗透也是块硬骨头 但
  • 故障诊断 matlab 仿真,基于MATLAB的BP网络变压器故障诊断仿真

    62 内 燃 机 与 配 件基于MATLAB的BP网络变压器故障诊断仿真 郑广瑞 王娜 包头供电局 包 头 014000 摘要 基于油中溶解气体分析针变压器故障诊断的对传统方法 在诊断过程中各存在不同程度的诊断缺陷 导致输出的诊断结果 不准
  • elasticsearch 模糊查询

    1 使用关键字wildcard 2 它使用标准的 shell 通配符查询 匹配任意字符 匹配 0 或多个字符 GET cars transactions search pretty query wildcard city value ia
  • js 设置style属性

    var cssText font weight bold color red 下面写法用于firefox类型浏览器 element setAttribute style cssText 下面写法用于IE类型浏览器 element style
  • 【深度学习】遗传算法

    目录 一 遗传算法 二 遗传算法概述 2 1 选择 2 2 交叉 2 3 变异 三 遗传算法的基本步骤 3 1 编码 3 2 初始群体的生成 3 3 适应度评估 3 4 选择 3 5 交叉 3 6 变异 3 7 总结 四 遗传算法工具箱 4
  • BSGS

    BSGS 问题 给定整数 a b p a b p a b p 其中 a
  • ioctl详解(Linux设备驱动程序模块)

    我这里说的ioctl函数是指驱动程序里的 因为我不知道还有没有别的场合用到了它 所以就规定了我们讨论的范围 写这篇文章是因为我前一阵子被ioctl给搞混了 这几天才弄明白它 于是在这里清理一下头脑 一 什么是ioctl ioctl是设备驱动
  • 面试大厂最常考算法之一LRU缓存算法

    题目 146 LRU 缓存机制 运用你所掌握的数据结构 设计和实现一个 LRU 最近最少使用 缓存机制 实现 LRUCache 类 LRUCache int capacity 以正整数作为容量 capacity 初始化 LRU 缓存 int
  • 官网无法下载 AndroidStudio 解决

    问题 官网无法下载 AndroidStudio 解决 复制链接 更换 redirector gvt1 com 为 dl google com 即可下载
  • 动态规划之矩阵连乘(C语言)

    include

随机推荐

  • 【YOLOv5问题记录】thop库的安装

    最近开始学习YOLOv5 踩了不少坑 总结一下问题 配置环境按照这篇教程来的 Yolov5的配置 训练 超级详细 小学生玩编程的博客 CSDN博客 训练数据集跟着炮哥的这篇 目标检测 教你利用yolov5训练自己的目标检测模型 yolov5
  • liunx如何重启mysql

    Linux如何重启MySQL Linux中重启MySQL可以使用service mysql restart命令和脚本启动方式 etc inint d mysql restart 推荐 MySQL教程 其他命令如下 一 启动 1 使用 ser
  • leetcode第一题详解

    第一题两数之和 这个题没有什么难度啊 标示的足够清楚了 1暴力解法 加法 class Solution public int twoSum int nums int target 外层循环 遍历数组nums for int i 0 i lt
  • vue动态路由

    import Vue from vue import Router from vue router import layout from components layout Vue use Router 动态路由 export const
  • 用Caffe提取深度特征

    用Caffe提取深度特征 发表于 2015 05 28 1条评论 最近做对比实验 要比较非深度的方法加上deep feature之后的效果 于是就用Caffe提了一把特征 过程不困难但是有点繁琐 姑且记录下来 留个参考 准备工作 用Caff
  • jd-gui - 打开jar出现中文乱码问题

    我们平时会使用JD GUI来直接打开别的项目的jar包 来看看源码里有什么问题 代码里都是英文注释倒还好 要是有中文的注释 可能就会发生下面的情况 乱码了 这里不像eclipse或者idea 直接在设置里配置编码格式为UTF 8即可 但是j
  • kettle增量抽取

    通过时间去增量抽取 数据源 1 新建trans转换 设置变量 step1 mysql输入 不勾选 允许建议转换 勾选中文可能会乱码 step2 设置变量 2 新建trans转换 根据变量抽取数据 step1 获取变量 step2 表输入 s
  • uni-app和web-view页面相互传参

    在uni app中 可以通过uni navigateTo和uni redirectTo等方法跳转到其他页面 并且可以通过url参数进行页面间的参数传递 而在web view页面中 可以通过url的query参数进行参数传递 下面是一个示例
  • 什么是springboot

    Spring Boot是由Pivotal团队提供的全新框架 其设计目的是用来简化Spring应用的创建 运行 调试 部署等 使用Spring Boot可以做到专注于Spring应用的开发 而无需过多关注XML的配置 Spring Boot使
  • csdn 代码样式 代码高亮 代码风格

    刚玩csdn 结果发现博客帮助里没有教这个 就写了一下 希望可以帮到一些和我一样的新手 在文章的富文本内 选择源代码后 在源代码中编辑即可 修改下文中的class可以进行多种样式风格的支持 如html c javascript java c
  • 在ubuntu 20.04中安装mmSegmentation

    注 此教程是博主的学习笔记 基于pycharm软件进行学习 如有问题可以在评论区进行评论 目录 一 在pycharm中创建object segmentation虚拟环境 二 mmSegmentation配置与安装 一 mmSegmentat
  • 腾讯云16核服务器配置大全_CVM和轻量服务器汇总

    腾讯云16核CPU服务器有哪些配置可以选择 可以选择标准型S6 标准型SA3 计算型C6或标准型S5等 目前标准型S5云服务器有优惠活动 性价比高 计算型C6云服务器16核性能更高 轻量16核32G28M带宽优惠价3468元15个月 腾讯云
  • 组合式API- 1-Setup

    参数 使用 setup 函数时 它将接受两个参数 props context 第一个参数 Props setup 函数中的第一个参数是 props 正如在一个标准组件中所期望的那样 setup 函数中的 props 是响应式的 当传入新的
  • Keil转到Eclipse遇到的几个问题

    ARM下Keil转到Eclipse后的几个问题 Keil转战到Eclipse下 首先 Eclipse的交叉工具链的环境要进行设置 其次 在Keil中的Scatter file在Eclipse下要重新编写 最后 Eclipse的调试环境要进行
  • SQL7 查找年龄大于24岁的用户信息

    描述 题目 现在运营想要针对24岁以上的用户开展分析 请你取出满足条件的设备ID 性别 年龄 学校 用户信息表 user profile id device id gender age university province 1 2138
  • 网络通信TCP/UDP

    目录 1 TCP 通信 cs 模型 socket 函数 bind 函数 listen 函数 connect 函数 accept 函数 recv 函数 send 函数 close 函数 出现的问题解决 2 UDP 通信 sendto 函数 r
  • 10 个基本的 Python 编码约定

    10 个基本的 Python 编码约定 1 使用描述性变量名 2 遵循 PEP 8 标准 3 使用文档字符串记录函数 4 避免全局变量 5 DRY Don t Repeat Yourself 不要重复自己 6 使用列表表达式 7 使用异常进
  • 串口与普通IO口的区别

    General Purpose Input Output 通用输入 输出 简称为GPIO 或总线扩展器 人们利用工业标准I2C SMBus或SPI接口简化了I O口的扩展 当微控制器或芯片组没有足够的I O端口 或当系统需要采用远端串行通信
  • Linux SVN 搭建(YUM)安装

    原文地址 http www centoscn com CentosServer ftp 2014 0202 2409 html 安装说明 系统环境 CentOS 6 2 安装方式 yum install 源码安装容易产生版本兼容的问题 安装
  • 正则验证

    一 校验数字的表达式 数字 0 9 n位的数字 d 2 至少n位的数字 d n m n位的数字 d m n 零和非零开头的数字 0 1 9 0 9 非零开头的最多带两位小数的数字 1 9 0 9 0 9 1 2 带1 2位小数的正数或负数