js正则校验收集整理

这篇博客详细整理了JavaScript中关于数字、字母、汉字以及各种组合的正则校验规则,涵盖了从数字的位数限制到电话号码、身份证号的验证,还包括字母、汉字的校验以及Email和URL的验证。同时,文章还介绍了正则表达式的元字符、重复限定符、字符组等基础知识,是学习和使用JavaScript正则表达式的好资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关于数字类的校验
1、验证数字:^[0-9]*$
2、验证n位的数字:^\d{n}$
3、验证至少n位数字:^\d{n,}$
4、验证m-n位的数字:^\d{m,n}$
5、验证零和非零开头的数字:^(0|[1-9][0-9]*)$
6、验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
7、验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
8、验证非零的正整数:^\+?[1-9][0-9]*$
9、验证非零的负整数:^\-[1-9][0-9]*$
10、验证非负整数(正整数 + 0): ^\d+$
11、验证非正整数(负整数 + 0): ^((-\d+)|(0+))$

12、校验电话号码:/^1[3|4|5|8][0-9]\d{8}$/
13、验证身份证号(15位或18位数字):^\d{15}|\d{}18$

二、关于字母的校验

三、关于字母和数字的校验

四、关于汉字的校验
1、两个到10个汉字: /^[\u0391-\uFFE5]{2,10}$/
2、验证汉字:^[\u4e00-\u9fa5],{0,}$

五、搭配校验
1、验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ (\w 匹配字母, 数字, 下划线)
2、验证用户名或昵称经常用到: ^[\u4e00-\u9fa5A-Za-z0-9-_]*$ 只能中英文,数字,下划线,减号
3、验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
4、验证邮箱地址:^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$
5、验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$

正则的一些详解

元字符 描述
. 匹配除换行符以外的任意字符
\d 匹配数字, 等价于字符组[0-9]
\w 匹配字母, 数字, 下划线
\s 匹配任意的空白符(包括制表符,空格,换行等)
\b 匹配单词开始或结束的位置
^ 匹配行首
$ 匹配行尾
反义元字符
元字符 描述
\D 匹配非数字的任意字符, 等价于[^0-9]
\W 匹配除字母,数字,下划线或汉字之外的任意字符
\S 匹配非空白的任意字符
\B 匹配非单词开始或结束的位置
[^x] 匹配除x以外的任意字符
可以看出正则表达式严格区分大小写.

重复限定符
限定符共有6个, 假设重复次数为x次, 那么将有如下规则:
限定符 描述

  • x>=0
  • x>=1
    ? x=0 or x=1
    {n} x=n
    {n,} x>=n
    {n,m} n<=x<=m
    字符组
    […] 匹配中括号内字符之一. 如: [xyz] 匹配字符 x, y 或 z. 如果中括号中包含元字符, 则元字符降级为普通字符, 不再具有元字符的功能, 如 [+.?] 匹配 加号, 点号或问号.

排除性字符组
[^…] 匹配任何未列出的字符,. 如: [^x] 匹配除x以外的任意字符.

多选结构
| 就是或的意思, 表示两者中的一个. 如: a|b 匹配a或者b字符.

括号
括号 常用来界定重复限定符的范围, 以及将字符分组. 如: (ab)+ 可以匹配abab…等, 其中 ab 便是一个分组.

转义字符
\ 即转义字符, 通常 \ * + ? | { [ ( ) ] }^ $ . # 和 空白 这些字符都需要转义.

操作符的运算优先级
\ 转义符
(), (??, (?=), [] 圆括号或方括号
*, +, ?, {n}, {n,}, {n,m} 限定符
^, $ 位置
| “或” 操作

这也是一篇写正则的,可以参考:http://www.mamicode.com/info-detail-1754802.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值