JavaScript(JS)常用正则表达式汇总

文章目录

  • 自定义字符串校验函数
  • 常用正则表达式

自定义字符串校验函数

校验字符串是否全由数字组成,是则返回true,否则返回false:

function isDigit(str) {var regExp = /^[0-9]{1,20}$/;// exec方法如果找到符合正则表达式的字符串,返回一个数组对象,否则返回nullif (!regExp.exec(str)) return false;return true;
} 

欲了解正则表达式对象的方法 exec() 如何使用,请参阅《JavaScript(JS)中与正则表达式有关的方法介绍》。

匹配以英文字母开头,由英文字母、数字、“.”、“_”中的任意 5~20 个字符组成的字符串:

function isRegisterUserName(s) {   
var regExp = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;   
if (!patrn.exec(s)) return false  
return true  
}  

匹配由 1~30 个英文字母组成的字符串:

function isTrueName(s) {   
var patrn=/^[a-zA-Z]{1,30}$/;   
if (!patrn.exec(s)) return false  
return true  
}   

匹配由6~20个任意非空白字符组成的字符串:

function isPasswd(s) {   var patrn=/^(\S){6,20}$/;   if (!patrn.exec(s)) return false  
return true  
} 

检验用户输入的身份证号码是否符合要求:

function check_card(){$('idCard').className = '';$('card_msg').innerHTML = '';var reg = /^\d{15}$|^\d{17}([0-9]|X|x)$/;if(!reg.test($F('idCard'))){$('card_msg').innerHTML = '格式不正确';$('idCard').className = 's2';return false;}return true; 
}

常用正则表达式

业务需求正则表达式说明
用户名/^[a-z0-9_-]{3,16}$/匹配由 3 个到 16 个英文小写字母、数字、下划线、连接线中的任意字符组成的字符串;匹配小写英文字母、数字、下划线以及连接线中的任意一个字符,可以匹配 3 到 16 次,也就是至少匹配 3 次,最多匹配 16 次;匹配小写英文字母、数字、下划线以及连接线中的任意 3 个到 16 个字符;匹配小写英文字母、数字、下划线以及连接线中的 3 个到 16 个任意字符。两个正斜杠之间的内容才是正则表达式,正斜杠 / 只是用来标记表达式的首尾而已,类似于双引号的作用,有些地方并不使用 / 来标记正则式的首尾,而是使用双引号 "" 来标识首尾,所以 / 并没有实际的意义。
用户名/^[a-zA-Z]{1,30}$/匹配 1 个到 30 个英文字母
用户名/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/匹配以英文字母开头,由英文字母、数字、“.”、“_”中的任意 5~20 个字符组成的字符串
密码/^(\S){6,20}$/匹配由6~20个任意非空白字符组成的字符串。这是密码常用的规则
密码/^[^\f\n\r\t\v]{6,18}$//^\S{6,18}$/匹配除了换页符、换行符、空白符、制表符、回车符以外的任意 6 个到 18 个字符。这是密码常用的规则
密码/^[a-z0-9_-]{6,18}$/匹配小写英文字母、数字、下划线、连字符中任意 6 个到 18 个字符组成的字符串;匹配 6 个到 18 个小写英文字母、数字、下划线、连字符中任意字符组成的字符串。这样的密码规则不常用
密码/(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)^[^\s\u4e00-\u9fa5]{6,16}$/使用了顺序否定环视,表示匹配一个非全部是数字,非全是英文字母,且包含至少 1 个英文字母或者包含至少 1 个数字,由 6 个到 18 个除了空白字符和汉字以外的任意字符组成的字符串。这样的密码规则更加严谨。
电子邮箱/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/@之前的部分,匹配小写英文字母、数字、下划线、半角句点以及连接线中的任意1个或多个字符;@和半角句点之间的部分,匹配数字、小写英文字母、英文句点以及连接线中的任意1个或多个字符;@之后的部分,匹配小写英文字母和英文句点中的任意2个到6个字符
电子邮箱/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/这个匹配地更加精准
电子邮箱/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/这个比较宽松
URL/^(https?:\/\/)?([0-9a-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/https?,是指 ? 前的 s 可有可无,(https?:\/\/)? 是指 http:// 或者 https:// 可有可无。要注意,\d 本是一个元字符,放在 [] 内就会变成普通字符 d,如果写成 \\d,则表示匹配 \d,换句话说如果要使用 \d 元字符的含义,不能放在方括号 []
URL/^https?://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$/sed ‘s/[\w]/liao/g’ test/text.txt
IP 地址/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
IP 地址/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
HTML 标签/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
查找注释内容(?<!http:|\S)//.*$这是个逆序否定环视表达式,用来匹配注释部分的字符串,即匹配代码的注释部分 ,标识 // 的前面不能有 http: ,也不能有非空白字符 \S,并且结尾紧跟行尾 $,这样的字符串才能匹配成功
Unicode 编码中的汉字范围/^[\u2E80-\u9FFF]+$/用来查找匹配整行的汉字
汉字^[\u4e00-\u9fa5]{1,}$[\u4e00-\u9fa5] 表示任意一个汉字字符,整个正则式表示匹配 1 个或者多个任意汉字,并且匹配到的汉字既在行首又在行尾
手机号码(\+86)?1\d{10}+ 是个特殊字符需要转义才能被视为一个普通字符,所以前面加个 \(\+86)? 表示 +86 可有可无,即 0 个或者 1 个;\d{10} 匹配10个任意数字,匹配任意的10个数字
身份证/^\d{15}$|^\d{17}([0-9]|X|x)$/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

警惕成教自考_不,保持警惕不会伤害Java。 关于Java许可的评论。

警惕成教自考所以。 Oracle希望通过Java赚钱。 然后&#xff0c;The Register发表了一篇非常对立的文章&#xff0c;上面有一个超级吸引人的标题。 根据他们的消息来源&#xff0c;“ Oracle正在大力加强对声称违反其许可证的Java客户的审计”。 当Twitter诗句对人们批评Oracle…

android colorstatelist_Android 样式系统 | 主题背景属性

在 Android 样式系统系列的前几篇文章中&#xff0c;我们介绍了主题背景与样式的区别&#xff0c;以及为什么说通过主题背景和公共主题背景属性来分解您要实现的内容是一个不错的主意&#xff0c;请点击链接回顾:Android 样式系统 | 主题背景和样式Android 样式系统 | 常见的主…

浙江科技学院c语言考试试卷,浙江科技学院c语言C试卷A.doc

浙江科技学院c语言C试卷A浙江科技学院2012 - 2013学年第学期考试试卷A卷信息、经管、 学院 20 年级 理工科专业得分一、判断题(本大题共12小题&#xff0c;每题小1分&#xff0c;共12分)得分二、单选题(本大题共20小题&#xff0c;每题1分&#xff0c;共20分)A.循环控制表达式的…

MyEclipse的Debug功能最基本的操作

使用 Debug 功能最基本的操作&#xff1a; 1.首先在一个 Java 文件中设断点&#xff0c;然后 Debug as --> Open Debug Dialog&#xff0c;然后在对话框中选类后&#xff0c;再点击 Run 运行程序&#xff0c;当程序走到断点处就会自动转到 Debug 视图 2.F5 键与F6 键均为单…

python二级考试可以用pycharm吗_学Python,Pycharm不能不知道怎么用

栏目介绍必会的Pycharm。我决定把去年写的Python文章整理一个专栏&#xff0c;垃圾的就直接删除&#xff0c;将多篇博文整理成一篇。 工欲善其事必先利其器&#xff0c;Pycharm 是最受欢迎的Python开发工具&#xff0c;它提供的功能非常强大&#xff0c;我尽量把自己用的都写写…

C语言写出生命游戏什么水平,我也来汇报~~~生命游戏。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼int main(void){FILE *wen1,*wen2;system("color f0");char a[1000]{0};int i0;xx ch{0,0};wen1fopen("shuru.txt","r");if (wen1!NULL){while(!feof(wen1)){fread(&a[i],1,1,wen1);}chchinesec…

hazelcast 使用_使用HazelCast进行Hibernate缓存:JPA缓存基础知识

hazelcast 使用HazelCast的最大功能之一就是对Hibernate第二级缓存的支持 。 JPA具有两个级别的缓存。 一级缓存在事务期间缓存对象的状态。 通过两次查询相同的对象&#xff0c;您必须获得第一次获取的对象。 但是&#xff0c;在包含您检索并访问数据库的复杂查询的情况下&…

判断输入的字符串总字节数是否超出限制

function checkByteLength(str) { var bytes 0; for(var i 0;i<str.length;i){ var c str.charAt(i); if(c<256){ bytes 1; }else{ bytes 2; } } if(bytes >6){ alert(“您输入的字数超过限制&#xff01;”); } }

android页面统计代码,android流量统计(示例代码)

android.net.TrafficStats类中&#xff0c;提供了多种静态方法&#xff0c;可以直接调用获取&#xff0c;返回类型均为long型&#xff0c;如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计。static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数&#xff0…

python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...

本文实例讲述了Python实现二维数组按照某行或列排序的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; lexsort支持对数组按指定行或列的顺序排序&#xff1b;是间接排序&#xff0c;lexsort不修改原数组&#xff0c;返回索引。 &#xff08;对应lexsort 一维数组…

apache camel_Apache Camel Intellij IDEA插件的工作已开始

apache camel仅仅因为圣诞节并不意味着骆驼静止不动。 在23日晚上&#xff0c;我花了一些时间进行研究&#xff0c;并开始研究IDEA的Apache Camel插件的小原型。 它已经存在了我很长时间。 原因是Apache Camel为目录提供了有关工具的大量有用信息。 该目录包含有关每个Camel组…

Final Cut Pro X剪辑影片基本步骤

文章目录一、资源库、事件、项目之间的区别二、制作一个视频的步骤&#xff08;一&#xff09;创建资源库&#xff08;二&#xff09;创建事件(非必需)&#xff08;三&#xff09;导入资源&#xff08;四&#xff09;创建项目&#xff08;五&#xff09;进行剪辑&#xff08;六…

python储存_python数据储存

python数据储存 csv文件的操作 安装csv包 打开cmd 执行 pip install csv 引入的模块名为csv 读取文件 with open("xx.csv","r") as f: read_datacsv.reader(f) for i in read_data: print(i)//打印表的全部元素 print(i[0])//打印表的第一列元素 1 2 3 4 5…

android+udp传输大小,Android UDP数据包如何接收可变大小的数据包

我有一个Android应用程序&#xff0c;它监视UDP数据包并调用一个方法来处理收到的消息。我有一个问题&#xff0c;如果传入的消息更长&#xff0c;它将调用方法来处理消息。但是如果传入的消息较短&#xff0c;则不会调用该方法&#xff0c;但如果我发送短消息两次&#xff0c;…

单例模式引发的内存泄漏:_资源泄漏:救援的命令模式

单例模式引发的内存泄漏:多年来&#xff0c; 使用Plumbr进行性能监控时&#xff0c;我遇到了数百个资源泄漏引起的性能问题。 在这篇文章中&#xff0c;我想描述一种最简单的方法来清理资源并避免该问题。 首先&#xff0c;我以电影播放器​​应用程序为例来描述问题。 这种应…

使用 ssh 命令来访问(登录/连接)远程服务器主机

打开 terminal 客户端&#xff0c;输入如下命令语句&#xff1a; ssh root119.119.10.5; // ssh 登录用户名称远程主机IP地址

android json 斜杠,Android中Json数据去掉斜杠

数据如下&#xff1a;["{"STCD":"172017156159","ItemID":"0003002","TM":"2020-01-16 19:20:10","NFOINDEX":0,"DATAVALUE":0,"DATATYPE":0}","{"STCD"…

ant构建项目迁移到gradle_Gradle这么弱还跑来面腾讯?

点击上方“刘望舒”&#xff0c;选择“星标”多点在看&#xff0c;就是真爱作者: 厘米姑娘(腾讯开发妹子)| 来源 &#xff1a;公号 码个蛋https://www.jianshu.com/p/1274c1f1b6a4前言在使用Android Studio过程中没少被Gradle坑过&#xff0c;虽然网上有很多简单粗暴的解决方案…

java heroku_使用Spring Boot和Heroku在20分钟内完成Java的单点登录

java heroku建筑物身份管理&#xff0c;包括身份验证和授权&#xff1f; 尝试Stormpath&#xff01; 我们的REST API和强大的Java SDK支持可以消除您的安全风险&#xff0c;并且可以在几分钟内实现。 注册 &#xff0c;再也不会建立auth了&#xff01; 大规模更新 我最初为本文…

如何使用SSH客户端远程操作linux系统,并启动、关闭tomcat和查看后台日志

cd … 表示回退到上一级目录 ls 表示查看当前目录下的所有文件 我们的tomcat安装路径在usr\local\yzmis\下面找 例如你要关闭信誉质量考核系统所在的tomcat&#xff0c;你要进入test下去找到apache-tomcat-6.0.14 再进入bin目录下&#xff0c;然后执行[trserver100 bin]$ ./sh…