首页 > 其他分享 >自我记录js正则

自我记录js正则

时间:2024-01-23 12:11:47浏览次数:38  
标签:01 数字 字母 zA -+ 自我 正则 js Z0

一、数字相关

  • 只有数字:/^[0-9]*$//^\d{1,}$/
  • 整数:/^-?[0-9]\d*$/
  • 正整数:/^\+?[1-9]\d*$/
  • 非正整数:/^-[1-9]\d*|0$/
  • 负整数:/^-[1-9]\d*$/
  • 非负整数:/^\d+$/
  • 浮点数:/^(-?\d+)(\.\d+)?$/
  • 正浮点数:/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/
  • 负浮点数:/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)/
  • 小数:/^-?\d+\.\d+$/
  • 正数/负数/小数:/^(\-|\+)?\d+(\.\d+)?$/
  • 正实数保留小数点后 2 位:/^[0-9]+(.[0-9]{2})?$/
  • 正实数保留小数点后 1 到 3 位:/^[0-9]+(.[0-9]{1,3})?$/
  • n 位数字:/^\d{n}$/
  • 至少 n 位数字:/^\d{n,}$/
  • m 至 n 位的数字:/^\d{m,n}$/
  • 数字和字母至少包含其一:/^[A-Za-z0-9]+$/
  • 必须包含数字和字母:/^(?=.*[a-zA-Z])(?=.*\d).+$/

二、字符相关

  • m 至 n 位的字符:/^.{3,20}$/
  • 英文字母字符:/^[A-Za-z]+$/
  • 大写英文字母字符:/^[A-Z]+$/
  • 小写英文字母字符:/^[a-z]+$/
  • 汉字:/^[\u4e00-\u9fa5]{0,}$/
  • 汉字、英文、数字、下划线至少其一:/^[\u4E00-\u9FA5A-Za-z0-9_]+$/

三、时间相关

  • 24小时制时间(HH:mm:ss):/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/
  • 12小时制时间(hh:mm:ss):/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/
  • 24小时制时间(HHmmss):/([0-1]?[0-9]|2[0-3])([0-5][0-9])([0-5][0-9])$/
  • 日期(yyyy-MM-dd,如 2222-01-01,年份必为4位):/^\d{4}-\d{1,2}-\d{1,2}/
  • 日期(yyyyMMdd,如 20220202):/^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))$/
  • 日期+时间(YYYYMMDD HH:mm:ss):/^\d{4}([/:-\S])(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31) (?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/

四、号码相关

 

  • 手机号(以 1 开头):/^(?:(?:\+|00)86)?1\d{10}$/
  • 手机号(以 13 至19 开头):/^(?:(?:\+|00)86)?1[3-9]\d{9}$/
  • 国内固话号码:/\d{3}-\d{8}|\d{4}-\d{7}/
  • 邮箱号:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
  • 邮政编码:/[1-9]\d{5}(?!\d)/
  • 身份证号:/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/
  • 银行卡号(公、私账户):/^[1-9]\d{9,29}$/
  • 车牌号:/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/
  • 合法账号1(字母开头,5-16位,允许字母数字下划线):/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
  • 合法账号2(4-16位,允许字母,数字,下划线,减号):/^[a-zA-Z0-9_-]{4,16}$/
  • 强密码1(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/
  • 强密码2(必须包含字母、数字、特殊字符:**@#$%^& `~()-+=* ):/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&* ~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\W_!@#$%^& *~()-+=]+$)(?![0-9\W_!@#$%^&* ~()-+=]+$)[a-zA-Z0-9\\W_!@#$%^&*~()-+=]/
  • 网址:/^(((ht|f)tps?):\/\/)?(^!@#$%^&*?.\s-?\.)+[a-z]{2,6}\/?/
  • 网址带端口号:/^((ht|f)tps?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/

 

标签:01,数字,字母,zA,-+,自我,正则,js,Z0
From: https://www.cnblogs.com/llwang43/p/17982032

相关文章

  • OPENJSON requires Compatibility Level 130
    ParseandTransformJSONDatawithOPENJSONOPENJSONrequiresCompatibilityLevel130TheOPENJSONfunctionisavailableonlyundercompatibilitylevel130.Ifyourdatabasecompatibilitylevelislowerthan130,SQLServercan'tfindandruntheO......
  • js中的bigint类型转化为json字符串时报无法序列化的问题
    网上查了一下,解决这个问题的思路就是将bigint类型的数据转化为字符串,这样就能正确转化为json字符串了。对于一个是bigint的变量,直接使用toString方法就可以转化为字符串了,但是bigint变量在一个对象中,那么我们就需要一个更加通用的方法,网上看到一个很好的封装好的方法,如下。expor......
  • [转]js 正则相关的两个方法match和exec的区别
    原文地址:jsmatch和exec的区别_javascriptmatchexec-CSDN博客一、使用方法不同exec()是正则对象的方法;reg.exec(str);match()是字符串的正则表达方法;str.match(reg);二、返回结果不同w3cSchool是这么说的:match()方法将检索字符串stringObject,以找到一个或多个与regex......
  • Java开发者的Python进修指南:JSON利器之官方json库、demjson和orjson的实用指南
    JSONJSON作为目前最流行的传输格式,在Python中也有相应的实现方式。由于JSON格式的文本可以跨平台并且简单易用,因此被广泛传播。因此,我们今天的主要讨论内容是如何熟练地应用Python的JSON库来处理将JSON映射到文本,以及如何从文本映射到对象中。现在,让我们开始探讨这个话题。官方j......
  • 某建筑网页js逆向分析过程(有坑)
    某建筑网页js逆向分析过程(有坑)https://blog.csdn.net/ak_bingbing/article/details/134399056 acmakb于2023-11-1414:56:27发布阅读量709收藏点赞数4分类专栏:网络爬虫文章标签:javascript爬虫python版权网络爬虫专栏收录该内容20篇文章0订阅订阅专栏某建筑网......
  • 生成器 迭代器 可迭代对象 深拷贝浅拷贝 闭包 装饰器 正则
    ​ python的导包python采用的导包方式有多种如:importx(包名)     比如导包时importhashlib调用时hashlib.md5("123456".encode("utf-8"))     importx(包名).xxx(方法名)         比如导包时importos.path调用时path.join(postion,......
  • crypto-js 加密、解密使用方法
    crypto-js加密、解密使用方法爱宇阳于2021-12-1015:35:32发布阅读量5.9w收藏201点赞数38分类专栏:VueJavaScriptHTML5文章标签:javascript前端vue.js版权华为云开发者联盟该内容已被华为云开发者联盟社区收录加入社区Vue同时被3个专栏收录81篇文章9订阅订阅......
  • [职场] 酒店面试自我介绍
    酒店面试自我介绍1各位评审大家好,能够站在这里参加面试,我感到非常的荣幸。希望通过这次面试能够把自己展示给大家,下面介绍一下我的基本情况。我叫xx,今年xx岁,xx人。大学的生活中,是我思想、知识结构及心理、生长成熟的四年。在大学期间,我自己认真学习专业技能,所以我掌握......
  • JS 数字字符串补零
    有时为了格式美观,我们需要给数字统一格式,比如001,002,003,这就有了为数字补足0的需求。具体见代码//num:数字//fill:补足后的位数padNumber(num,fill){letlen=(''+num).length;if(fill>len){//新建一个空数组,长度为所缺位数+1,利用join(0),得......
  • 复杂JSON数据的扁平化解析_Java实现
    在工作中遇到了解析JSON数据的场景,但是此岗位传统的做法是通过Python脚本来实现的,而且是非常不合理的手动解析——每对应不同的JSON数据结构,都需要手动改动很多脚本文件,工作量与JSON数据结构的复杂程度成正比!(很难想象这是一个做开发的人想出来的方案)因此最开始接触此工作内容的时......