js正则表达式大全

2024-04-27 16:52
文章标签 js 正则表达式 大全

本文主要是介绍js正则表达式大全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.手机号

var re = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1|8|9]))\d{8}$/;console.log(re.test('18976216345')); // 输出:trueconsole.log(re.test('1086')); // 输出:false

2.车牌号

var re = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领]{1}[A-HJ-NP-Z]{1}·[a-zA-Z0-9]{5}$/;console.log(re.test('京A·R9888')); // 输出:trueconsole.log(re.test('1086')); // 输出:false

其中,“[a-zA-Z0-9]{5}”匹配5个字母或数字。

3.微信号(wx),6至20位,以字母开头,字母,数字,减号,下划线

var re = /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/;console.log(re.test('zhousiR1')); // 输出:trueconsole.log(re.test('zhousiR?')); // 输出:false

4.QQ号

var re = /^[1-9][0-9]{4,10}$/;console.log(re.test('1234538654')); // 输出:true

5.身份证号

        var re = /^[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]$/;

6.邮箱

var re = /^(([^<>()[\]\\.,;:\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,}))$/;console.log(re.test('18976216345@qq.com')); // 输出:trueconsole.log(re.test('1086@qq')); // 输出:false

7.银行卡号

var re = /^[1-9]\d{9,29}$/;console.log(re.test('12345678901234567890')); // 输出:trueconsole.log(re.test('1086')); // 输出:false

8.密码强度校验,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

var re = /^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/;console.log(re.test('zhousiR1?')); // 输出:trueconsole.log(re.test('zhousiR?')); // 输出:false

9.用户名校验,4到16位(字母,数字,下划线,减号)

var re = /^[a-zA-Z0-9_-]{4,16}$/;console.log(re.test('zhousiR1')); // 输出:trueconsole.log(re.test('zhousiR?')); // 输出:false

10.邮编

var re = /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/;console.log(re.test('210096')); // 输出:trueconsole.log(re.test('zhousiR?')); // 输出:false

11.小数

var re = /^\d+\.\d+$/;console.log(re.test('12')); // 输出:falseconsole.log(re.test('12.3')); // 输出:true

12.正整数

var re = /^\d{1,}$/;console.log(re.test('12')); // 输出:trueconsole.log(re.test('12.3')); // 输出:false

13.html标签

var re = /<(\w+)[^>]*>(.*?<\/\1>)?/;console.log(re.test('12')); // 输出:falseconsole.log(re.test('<body>')); // 输出:true

这篇关于js正则表达式大全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941029

相关文章

JS-导入导出

export和export default是ES6中导出模块中变量的语法 导入导出变量 //导出方法(js文件中)export const 变量名=值//导入方法 对应导入的变量,一定要加花括号import {变量名} from 'js文件路径'   导入导出函数 //导出方法(js文件中)export default function () {...}//导入方法 函数可以随意

JS笔试手撕题

数据劫持 Vue2的Object.defineProperty() Vue2的响应式是通过Object.defineProperty()拦截数据,将数据转换成getter/setter的形式,在访问数据的时候调用getter函数,在修改数据的时候调用setter函数。然后利用发布-订阅模式,在数据变动时触发依赖,也即发布更新给订阅者,订阅者收到消息后进行相应的处理 描述符分为数据描述符和存取

Mathematica函数大全

一、运算符及特殊符号 Line1; 执行Line,不显示结果 Line1,line2 顺次执行Line1,2,并显示结果 ?name 关于系统变量name 的信息 ??name 关于系统变量name 的全部信息 !command 执行Dos 命令 n! N 的阶乘 !!filename 显示文件内容 <<filename 读入文件并执行 Expr>> filename 打开文件写 Expr

实用的Chrome命令大全

Google Chrome 是一款广泛使用的网络浏览器,它支持一系列特殊的命令,这些命令可以通过在地址栏输入特定的关键字来实现。这些命令不仅可以帮助用户快速访问Chrome的内部页面,还可以用于调试和优化网站性能。以下是一些实用的Chrome命令的详细介绍。 1. 概览 Chrome命令通常以 chrome:// 开头,后面跟随具体的命令名称。这些命令可以访问Chrome的内置工具和功能,例如

JS中递归是什么原理

JavaScript中的递归(Recursion)是一种编程技巧,它允许函数直接或间接地调用自身。递归函数在解决一些问题时特别有用,特别是那些可以分解为更小、相似子问题的问题。递归的基本原理包括两个关键部分: 1,基准情况(Base Case): 这是递归停止的条件。如果没有基准情况,递归函数将会无限调用自身,导致栈溢出错误。基准情况通常是一个或多个可以直接得到答案的特殊情况。 2,递归步骤

学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等

跳转指令分三类: 一、无条件跳转: JMP; 二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转); 三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了. 根据标志位跳转的指令: JE ;等于则跳转JNE ;不等于则跳转JZ ;为 0 则跳转JNZ ;不为 0 则跳转JS ;为负则跳

js中typeof作用(用法)

JS中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据。 typeof 可以用来检测给定变量的数据类型,可能的返回值:1. 'undefined' --- 这个值未定义; 2. 'boolean'    --- 这个值是布尔值; 3. 'string'        --- 这个值是字符串; 4. 'number'     --- 这个值是数值; 5. 'object'       -

JS教程:childNodes与parentNode

如果你是高手,对于childNodes与parentNode并不陌生。其实他们就是DOM的两个特性/方法而以。 childNodes:表示对象的所有子节点的列表,返回的值可以看作是一个数组,他具有length属性; parentNode:表示对象的父级节点。 当我解释完这两个方法以后,可能有人会问,他们有什么用,嘿嘿,当然有用,我们下面有一个例子来说明他们的作用。 如果我们有一个ul列表,

js 获取取链接根节点名

var localObj = window.location; var contextPath = localObj.pathname.split("/")[1]; var basePath = localObj.protocol+"//"+localObj.host+"/"+contextPath; var server_context=basePath;

js 实现层随滚动条移动效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <TITLE>随滚动条移动的层 - 51wind