常见的正则表达式 及 在JS和Java中的不同写法

在学习过程中,相信大家会经常碰到正则表达式,然后每次需要就上网查,多少有点不方便,所以这里在借鉴了其他一些博主的前提下(谢谢谢谢),总结了一些自己认为比较常用的正则表达式。(为了方便可以收藏的哦,哈哈哈,我不介意)

验证日期 YYYY-MM-DD:

/^(\d{
    
    1,4})(-|\/)(\d{
    
    1,2})\2(\d{
    
    1,2})$/

验证邮箱:

/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/

验证字母:

/^[A-Za-z]+$/

验证整数:

/^[-+]?\d*$/

验证非负整数:

/^\d+$ / 或 /^[1-9]\d*|0$/

验证数字:

/^-?\d*\.?\d+$/

验证密码强度(大小写英文加数字及特殊符号):

/^.*(?=.{
    
    6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/

验证中文、英文、数字但不包括下划线等符号:

/^[\u4E00-\u9FA5A-Za-z0-9]+$/ 或 /^[\u4E00-\u9FA5A-Za-z0-9]{
    
    2,20}$/

验证英文和数字:

/^[A-Za-z0-9]+$/ 或 /^[A-Za-z0-9]{
    
    4,40}$/

验证小数:

/^[-\+]?\d+(\.\d+)?$/

验证身份证:

 /^\d{
    
    6}(18|19|20)?\d{
    
    2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{
    
    3}(\d|X)$/

验证手机号:

/^1[3456789]\d{
    
    9}$/

验证中文:

/^[\u0391-\uFFE5]+$/

验证中文、英文、数字包括下划线:

/^[\u4E00-\u9FA5A-Za-z0-9_]+$/

验证非正整数:

/^-[1-9]\d*|0$/ 或 /^((-\d+)|(0+))$/

下面来说明一下在一些不同的环境中如何使用正则

在这里插入图片描述

JS正则表达式的使用用例:

注意:要以斜杆表示开始和结束

	var str = document.getElementById("str").value.trim();//获取指定id的内容,去除空格
	var regex = /^[a-zA-Z]+$/; // 直接量正则表达式
	if(!regex.test(str)){
    
    
		alert("请输入正确的英文字母!");
	}

Java正则表达式的使用用例:

注意:Java不需要斜杆开始和结束,然后" \ "要打两个啊!!!

Pattern p=Pattern.compile("\\d+");
Matcher m=p.matcher("22bb23");
m.matches();//返回false,因为bb不能被\d+匹配,导致整个字符串匹配未成功.
Matcher m2=p.matcher("2223");
m2.matches();//返回true,因为\d+匹配到了整个字符串

Pattern.matcher(CharSequence input)返回一个Matcher对象

Matcher类的构造方法是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例。

Pattern类只能做一些简单的匹配操作,要想得到更强更便捷的正则匹配操作,那就需要将Pattern与Matcher一起合作。

Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持。

嗯差不多就是这样了,如果哪里有错的可以在评论区指出来哦,一起进步!( •̀ ω •́ )✧

(对了,MySQL中怎么使用正则呢?好像就加个关键字 REGEXP就可以了吧?……)

猜你喜欢

转载自blog.csdn.net/qq_44386537/article/details/112107299
今日推荐