前言
我们在上次说到了一些关于正则表达式的基本知识,然后学啥东西都一样,要会用,不然干看着概念,就算你厉害把所有的知识点都背下来了,但是一段时间不看就会忘记了,所以咧,还是要找一点题练一下,这次的话就随便找了几道我做项目的时候做的正则的题型,权当复习吧
邮箱校验
要求:能够识别判断当前使用比较多的免费邮箱,企业邮箱不熟,以后再考虑1
2
3
4let demo = "123@qq.com";
let pataern = /^[a-zA-Z0-9_.]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9]+)*\.[a-zA-Z0-9]{2,6}/;
let res = pataern.test(demo);
console.log(res);//true
账户姓名校验
要求:1-n个以字母开头的字符串1
2
3
4
5
6
7
8
9
10const n = 5;
let user1 = 'ssh';
let user2 = '1word';
function UserName(user) {
let reg = /^[a-zA-Z][a-zA-Z0-9_]{0,4}$/;
let result = reg.test(user);
return result;
}
console.log(UserName(user1));//true
console.log(UserName(user2));//false
密码校验
要求:6-12字母、数字、下划线1
2
3
4
5
6
7
8
9let pwd1 = 's';
let pwd2 = '1_word';
function Password(pwd) {
let reg = /[a-zA-Z0-9_]{6,12}$/;
let result = reg.test(pwd);
return result;
}
console.log(Password(pwd1));//false
console.log(Password(pwd2));//true
格式化金额
要求:将数字转换为形如¥2,000.12的形式1
let
获取金额中的有效数字
要求:将¥2,000.20中的有效数字提取出来,如2000.21
2
3
4
5
6
7
8
9let str = `CNY 1,000.0`;
function tiqu(str){
let reg = /[^0-9\.]/g;//去掉货币符号和逗号
str = str.replace(reg,'');
str = parseFloat(str);//如果去掉无效的小数数据
return str;
}
let res = tiqu(str);
console.log(res);