木子-正则表达式-实际工作中遇到的

目录

1、将数据中所有空格去除(包括英文空格与中文的全角空格)

2、判断一个数字是否是整数

3、验证手机号

4、邮箱简易验证

5、判断字符串中是否包含某子字符串

6、js年月日时分秒转换成年月日

7、字符串去除特殊字符

8、验证一个字符串是否是小数

9、验证密码是否符合规范

10、验证身份证是否符合规范

11、特殊汉字字符替换


1、将数据中所有空格去除(包括英文空格与中文的全角空格)

( 1234)这是中文的样式    ,( 1234)这是英文的

replace(/[\s ]/g,"");

[]代表或者的意思

 /s会自动把所有有空白部分的全部替换,空白符!!!注意是小写,如果改为大写S是所有非空白的替换 

/s后面的是中文全角空格

//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

2、判断一个数字是否是整数

//判读是否是整数

var type = "^[0-9]*[1-9][0-9]*$";
       var re = new RegExp(type);
    if (val.match(re) == null) {
       alert("这可不是个整数!");
   }

//判断是否是数字

var re = /^[0-9]+.?[0-9]*$/;

re.test(xxxx);

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

3、验证手机号

//前台

if(!(/^1(3|4|5|7|8)\d{9}$/.test(tel))){
    alert("手机号码格式不正确");
}

//后台

String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(user.getTel());
boolean isMatch = m.matches();

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

4、邮箱简易验证

^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

5、判断字符串中是否包含某子字符串

/.*123.*/

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

6、js年月日时分秒转换成年月日

var s='2017-05-24 12:33:22';'定义日期字符串

s=s.replace(/ \d+(:\d+){2}/,'')'正则过滤后面的时间,只显示年月日

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

7、字符串去除特殊字符

java:

        String str="信息项说%明不能带!@有特殊符号-~!@#$%^*:?";
        String regEx="[-~!@#$%^&*:?]";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(str);
        str=m.replaceAll("").trim();
        System.out.println(str);

           

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

8、验证一个字符串是否是小数

true为是  false为不是

String ss="3.982";

String regex = "[+-]?[0-9]+(\\.[0-9]+)?";   //如果只验证部分小数位[+-]?[0-9]+(\\.[0-9]{1,4})?
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(
ss);
boolean isMatch = m.matches();

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

9、验证密码是否符合规范

/^[\w.\_!@#$%^&*()~.+=/*??]{6,20}$/

密码长度6~20位,可以携带_!@#$%^&*()~.+=/*??等密码

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

10、验证身份证是否符合规范

//第一代身份证正则表达式(15位)
String isIDCard1 = "^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$";
//第二代身份证正则表达式(18位)
String isIDCard2 = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[A-Z])$";

// 学习到一个sql里验证身份证的方法,共同学习

REGEXP '^[1-9][[:digit:]]{7}((0[[:digit:]])|(1[0-2]))(([0|1|2][[:digit:]])|3[0-1])[[:digit:]]{3}$|^[1-9][[:digit:]]{5}[1-9][[:digit:]]{3}((0[[:digit:]])|(1[0-2]))(([0|1|2][[:digit:]])|3[0-1])[[:digit:]]{3}([0-9]|X)$'

完整语句如下,会查询到身份证格式符合该正则的人员信息

select * from aa where cardNo REGEXP '^[1-9][[:digit:]]{7}((0[[:digit:]])|(1[0-2]))(([0|1|2][[:digit:]])|3[0-1])[[:digit:]]{3}$|^[1-9][[:digit:]]{5}[1-9][[:digit:]]{3}((0[[:digit:]])|(1[0-2]))(([0|1|2][[:digit:]])|3[0-1])[[:digit:]]{3}([0-9]|X)$'

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

11、特殊汉字字符替换

描述一下场景,最近有一个数据,要存入到数据库里,但是数据库字段是longtext,二进制格式。

𣇉🐔这种字符二进制无法识别,直接字段超长了。。。佛了

这种使用\\p{C}将特殊字符给转换成?号就可以了,具体操作如下

String aa="1111🐔22222";
aa=aa.replaceAll("\\p{C}","");
System.out.println(aa);


aa=1111?2222;

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值