验证(正则表达式)

正则表达式常用验证(一) 正则表达式常用验证 阅读详情
正则表达式基本语法
1.正则表达式基本语法


两个特殊的符号'^'和'$'。他们的作用是分别指出一个字符串的开始和结束。例子如下:






'.'可以替代任何字符:


"a.[0-9]":表示一个字符串有一个"a"后面跟着一个任意字符和一个数字;
"^.{3}$":表示有任意三个字符的字符串(长度为3个字符);


方括号表示某些字符允许在一个字符串中的某一特定位置出现:


"[ab]":表示一个字符串有一个"a"或"b"(相当于"a¦b");
"[a-d]":表示一个字符串包含小写的'a'到'd'中的一个(相当于"a¦b¦c¦d"或者"[abcd]");
"^[a-zA-Z]":表示一个以字母开头的字符串;
"[0-9]%":表示一个百分号前有一位的数字;
",[a-zA-Z0-9]$":表示一个字符串以一个逗号后面跟着一个字母或数字结束。


你也可以在方括号里用'^'表示不希望出现的字符,'^'应在方括号里的第一位。(如:"%[^a-zA-Z]%"表
示两个百分号中不应该出现字母)。


为了逐字表达,你必须在"^.$()¦*+?{\"这些字符前加上转移字符'\'。


请注意在方括号中,不需要转义字符。






2.正则表达式验证控制文本框的输入字符类型
1.只能输入数字和英文的: 
<input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1">


2.只能输入数字的: 
<input onkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2">


3.只能输入全角的: 
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" ID="Text3" NAME="Text3">


4.只能输入汉字的: 
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" ID="Text4" NAME="Text4">




3.正则表达式的应用实例通俗说明
 
*******************************************************************************


//校验是否全由数字组成


/^[0-9]{1,20}$/


 


^ 表示打头的字符要匹配紧跟^后面的规则


$ 表示打头的字符要匹配紧靠$前面的规则


[ ] 中的内容是可选字符集


[0-9] 表示要求字符范围在0-9之间


{1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20次。


 


/^ 和 $/成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。


 


*******************************************************************************


//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串


/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/


 


^[a-zA-Z]{1} 表示第一个字符要求是字母。


([a-zA-Z0-9]|[._]){4,19} 表示从第二位开始(因为它紧跟在上个表达式后面)的一个长度为4到9位的字符串,它要求是由大小写字母、数字或者特殊字符集[._]组成。


 


*******************************************************************************


//校验用户姓名:只能输入1-30个以字母开头的字串


/^[a-zA-Z]{1,30}$/


 


*******************************************************************************


//校验密码:只能输入6-20个字母、数字、下划线


/^(\w){6,20}$/


 


\w:用于匹配字母,数字或下划线字符


 


*******************************************************************************


//校验普通电话、传真号码:可以“+”或数字开头,可含有“-” 和 “ ”


/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/


 


\d:用于匹配从0到9的数字;


“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次


 


可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等


*******************************************************************************


//校验URL


/^http[s]{0,1}:\/\/.+$/ 或 /^http[s]{0,1}:\/\/.{1,n}$/ (表示url串的长度为length(“https://”) + n )


 


\ / :表示字符“/”。


. 表示所有字符的集


+ 等同于{1,},就是1到正无穷吧。


*******************************************************************************


//校验纯中文字符


/^[\u4E00-\u9FA5]+$/




[\u4E00-\u9FA5] :估计是中文字符集的范围吧




 


"^\d+$"  //非负整数(正整数 + 0) 
"^[0-9]*[1-9][0-9]*$"  //正整数 
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0) 
"^-[0-9]*[1-9][0-9]*$"  //负整数 
"^-?\d+$"    //整数 
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) 
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0) 
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 
"^(-?\d+)(\.\d+)?$"  //浮点数 
"^[A-Za-z]+$"  //由26个英文字母组成的字符串 
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
"^[a-z]+$"  //由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"   //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"   //IP地址


^([0-9A-F]{2})(-[0-9A-F]{2}){5}$   //MAC地址的正则表达式
^[-+]?\d+(\.\d+)?$  //值类型正则表达式
前台验证(利用验证控件和正则表达式) 正则表达示收藏整数或者小数:^[0-9]+/.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^/d{n}$"。只能输入至少n位的数字:"^/d{n,}$"。只能输入m~n位的数字:。"^/d{m,n}$"只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。只 阅读详情

相关推荐

使用正则表达式验证邮箱

在开发 Web 应用程序时,常常需要对用户输入的邮箱地址进行验证,确保其格式的正确性。PHP 提供了强大的正则表达式功能,可以方便地实现邮箱地址的验证。需要注意的是,该示例只是一个简单的验证方法,它只检查邮箱地址的格式是否正确,而不会验证邮箱地址的有效性。函数对邮箱地址进行匹配。如果匹配成功,即邮箱地址符合正则表达式模式,我们输出"邮箱地址有效";综上所述,我们可以使用 PHP 的正则表达式功能来验证邮箱地址的格式。的函数,该函数接受一个邮箱地址作为参数。函数进行匹配,我们可以方便地实现邮箱地址的验证。

ZoExamples的博客 2334

javascript验证Validator.js

     /*************************************************   Validator v1.03   code by 我佛山人   wfsr@msn.com   *************************************************/   Val...

lanyq的专栏 893

如何使你的直流电机闭环?(PID讲解)

看了看很多大佬写的PID讲解很全面也很复杂,实在是不适合很多萌新入坑,所以想按自己的理解写一篇通俗易懂的PID算法讲解

a2001444的博客 1万+

正则表达式

       相信我们都见过类似于这样的寻人启示吧,我们要想在茫茫人海中寻找某个人,就相当于从某些信息筛选出某个有用信息,上面的描述中有具体的描述,比如高龄88,失踪前的穿衣打扮,但也有模糊的描述,比如体重略胖,步履略蹒跚等,这跟我们在一堆信息中要筛选出我们需要的信息一样,有时我们知道具体要查找的内容,而有时只知道大概,类似于这样的筛选我们要借助什么完成呢?这就需要深入了解一下我们今天所提到的——...

dove1202ly的博客 1441

科研党必备:用MATLAB批量处理.mat文件数据的3种高效方法

本文为科研人员提供了使用MATLAB批量处理.mat文件数据的三种高效方法,涵盖智能数据加载、专业可视化与自动化报告生成。通过构建自动化框架、多维度数据画图策略及批量处理流程,帮助用户显著提升数据处理效率与图表专业性,解决海量实验数据的管理与分析难题。

weixin_29089057的博客 72

1006. 换个格式输出整数 (15)-PAT乙级真题

1006. 换个格式输出整数 (15)让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(&lt;10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(&lt;1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1...

柳婼 の blog 2243

20220427数组和字符串:三数之和

题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 编码实现: public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); List<List<Integer...

SeeYouAgain的博客 160

手把手教你设计2bit反射型超表面:从单patch扫参到pin管配置全流程

本文提供了一份2bit反射型超表面设计的完整工程实践指南。从单贴片谐振器的参数化扫描与“270度法则”应用,到PIN二极管等效电路模型的获取与集成,再到利用参数化扫描高效仿真四种工作状态,手把手指导读者完成从单元设计到阵列布局、偏置线集成及加工考量的全流程,旨在帮助射频工程师将概念转化为可加工测试的实体模型。

java5的博客 1022

正则(验证至少3个字母和3个数字)

var rgx = /^(?=(.*?[A-Za-z]+){3,})(?=(.*?[0-9]+){3,})[a-zA-Z0-9]{6,15}$/ //rgx.test("dasa45645") //true console.log(rgx.test("66a666aa"))

weixin_44624120的博客 1933

dToF直方图之美_deadtime死区时间

IMX459的死区时间可以在6ns,这个时间是什么级别,车载激光雷达激光器的光脉宽一般都在4ns以上,也就是这个时间贴近去SPAD的死区时间,这就导致了pile up会非常弱,不会有太多数量的光子计数堆积,加上某些SPAD设计,对TDC有一些更深入的考量,所以不需要去校正pile up算法。Sensor层面决定了pile up的复杂程度,如果一个dToF的SPAD一致性非常好,那么pile up校正可以简单到极致,也就是一句代码的事,比如IMX611,优秀到不需要后端去考虑校正pile up。

致力于lidar应用开发 2149

9、自动定理证明的发展历程与关键技术

本文全面介绍了自动定理证明的发展历程、关键技术及其实际应用,包括消解原理、参数化、支撑集策略等核心方法,并探讨了算法优化、数据结构优化及并行计算等提升效率的手段。同时,文章展望了未来发展方向,如深度学习在定理证明中的应用、交互式定理证明以及高阶逻辑的研究前景。

ll5678的博客 506

常用正则表达式

常用正则表达式 开发过程中经常会用到正则表达式,网上也有很多的正则,但要找到一个完全符合自己需求的一般都要花挺多时间的,所以做下总结,方便日后查询。 一、校验数字的表达式 数字: ^[0-9]*$ n位的数字: ^\d{n}$ 至少n位的数字: ^\d{n,}$ m-n位的数字: ^\d{m,n}$ 零和非零开头的数字: ^(0|[1-9][0-9]*)$ 非零开头的最多带...

csmzl的博客 1197

9.27华为OD机试真题 新系统 - 均衡调度 (Java/Py/C/C++/Js/Go)

9.26华为OD机试真题 新系统 - 均衡调度 (Java/Py/C/C++/Js/Go)

算法大师! 497

正则表达式快速验证工具

正则表达式快速验证工具 Posted on 2009-01-05 21:39 wknight 阅读(278) 评论(0)  编辑 收藏 网摘 所属分类: WinForm <!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/

lqxqust的专栏 675

如何在 DevOps 管道中实现 AI?

AI与DevOps的融合(AIOps)正在重塑软件开发生命周期。本文系统阐述了AI在DevOps中的五大应用场景:智能监控、自动化测试、安全防护、CI/CD优化和事件管理,并提出了六步实施框架:痛点识别、工具选型、流程集成、智能监控、MLOps和治理合规。通过Netflix、Google等企业的实践案例,验证了AI在提升部署效率(降低40%故障率)、缩短问题解决时间(MTTR减少60%)方面的显著价值,同时指出数据质量、模型偏差等实施挑战。研究表明,战略性地

介绍AWS Azure GCP devops Terraform 等技术 497

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

正则表达式、验证

正则表达式、验证

m0_56561432的博客 905

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

用正则表达式简单验证

这是一篇简单的博客,希望对你有所帮助。 什么是正则表达式?正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。 正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户 名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外, 正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要 的特定部分(提取)等 。 其他语言也会使用正则表达式,本阶段我们主要是利

Infinityfeng的博客 2081

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

如何使用正则表达式验证域名

域名是互联网上网站的地址,每个域名由多个标签(label)组成,标签之间用点分隔。每个标签只能包含字母、数字和短横线。标签的长度不能超过 63 个字符。域名的最后一部分(即顶级域名,TLD)必须由字母组成,且至少为 2 个字符。在本文中,我们将学习如何使用正则表达式来验证域名是否合法。通过本教程,你已经学会了如何使用正则表达式来验证域名格式。

宋发元 4204

正则表达式验证

使用正则表达式验证常用信息的输入 需要验证的信息有 1:用户名: 大写字母开头 6-20位字符(不允许有符号但是允许有_) 2:密码 大写开头 数字字母符号混合 8-15位 3:确认密码 大写开头 数字字母符号混合 8-15位 4:邮箱 邮箱格式 5:手机号 手机号格式 6:身份证号 身份证号格式 7:地址 中文开头 数字 - 字母 中文混合 分别对应...

weixin_45743799的博客 575

java正则表达式验证密码_最新密码验证正则表达式

正则表达式验证密码功能在项目中经常被使用到,但是很多朋友还是不大会使用密码正则表达式进行验证,本文小编为大家整理了php密码验证正则表达式、python密码强度正则,当然还有大家常用到的js正则表达式,希望大家喜欢。刚开始复习一下,什么是正则表达式?在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的...

weixin_42449339的博客 2087

正则表达式验证手机号,正则表达式验证邮箱号,正则表达式验证QQ号,正则表达式验证微信号等

正则世界,唯我独尊 编写项目的时候,多多少少都有些验证,用的时候费力气去写或者满世界的找需要的资料太麻烦 就在这里进行汇总记录,后续会不断更新不断完善 正则表达式之——QQ号码验证 String regex = "[1-9][0-9]{4,14}";//第一位1-9之间的数字,第二位0-9之间的数字,数字范围4-14个之间 正则表达式之——微信号码验证 String regex = "/^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$/"; 正则表达式之——手机号码验证.

技匠而已 9344

正则表达式实现资料验证的技术总结

资料验证无论在C/S还是在B/S中的使用都是非常普遍的, 过去大家喜欢用一堆的 IF...else...判断输入的内容是否满足要求. 如今很多语言都支持正则表达式, 它定义了一套自己的语法规则 (常见语法包括;字符匹配、重复匹配、字符定位、转义匹配和其他高级语法) 来完成各种资料的验证, 功能之强大在我看来几乎到了无敌的地步.       但是据我所了解(呵呵, 很可能是坐井观天, 如果有

trialwalker的专栏 541

JS 正则表达式验证邮箱和手机号

正则表达式验证邮箱和手机号

qq_58340302的博客 6万+

手机验证的正则表达式

关于手机验证的正则表达式 在我们工作中,做的项目都会用到手机登录这一模块,所我做了一个小小的总结,希望可以帮到你。 $(&amp;quot;#getCode&amp;quot;).click(function(){ var obj=$(this); var mobile=$(&amp;quot;#mobile&amp;quot;).val(); var mobileReg=/^1[34578]/d{9}$]; //当没有输...

weixin_43612234的博客 1872

验证数据,正则表达式

开发经常会验证一些数据的正确性,这边提供一个工具类 import java.util.regex.Pattern; /** * * @Description 正则表达式验证 */ public class AccountValidatorUtil { /** * 正则表达式:验证用户名 */ public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,20}$"; /** * 正则表达式:验证密码 */ p

优快云新星计划JAVA赛道TOP5、优快云内容合伙人、JAVA领域优质创作者、资深JAVA开发深耕JAVA领域。 663
上一篇: Javascript继承(原型链)
下一篇: json字符串和json对象互转的方法解析
Andy_java_
博客等级 码龄10年 4粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值