正则表达式


许多程序设计语言都支持正则表达式进行字符串操作

一、验证方法

  1. RegExp (正则表达式)对象方法
  • test() 方法用于检测一个字符串是否匹配某个模式,返回值为 true / false
    var tel = "15189469911";//字符串
    var reg = new RegExp(/1[3578][0-9]{9}/); //模式
    console.log(reg.test(tel));//true

  1. 支持正则表达式的 String 对象的方法
  • match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
    返回存放匹配结果的数组 / null
    var tel = "13789469911";
    console.log(tel.match(/^1[34578][0-9]{9}$/));
    //Array [ "13789469911" ]

二、正则表达式

  1. 元字符
    拥有特殊含义的字符
"\"        转义字符
"\n"       匹配换行符 
"\\"(串行) 匹配 "\"
"\("       匹配"("
\w	匹配单词字符。
\W	匹配非单词字符。
\d	匹配数字。[0-9]
\D	匹配非数字字符。[^0-9]
\s	匹配空白字符。
\S	匹配非空白字符。
\b	匹配单词边界。
\B	匹配非单词边界。
\n	匹配换行符。
\f	匹配换页符。
\r	匹配回车符。
\t	匹配制表符。
\v	匹配垂直制表符。
  1. ^
    匹配输入字符串的开始位置
  2. $
    匹配输入字符串的结束位置
  3. *
    匹配前面的子表达式零次或多次
    var str="fooood";//f fo...
    //注意字符串两种写法结果的不同
    console.log(str.match(/fo*/));//Array [ "foooo" ]
    console.log(str.match(/^fo*$/));//null
  1. +
    匹配前面的子表达式一次或多次
    var str="foo";//fo foo fooo...
    console.log(str.match(/^fo+$/));
    console.log(str.match(/fo+/));
    //也可以不写开始结尾符

  1. 匹配前面的子表达式零次或一次({0,1})
var str="foo";//f fo
    console.log(str.match(/^fo?$/));
{n}     非负整数,匹配确定的n次
{n,}    非负整数,至少匹配n次
{n,m}   皆为非负整数,最少匹配n次最多匹配m次
[abc]	字符集合。匹配所包含的任意一个字符
[^abc]	匹配任何不在方括号之间的字符。
[0-9]	匹配任何从 09 的数字。
[a-z]	匹配任何从小写 a 到小写 z 的字符。
[A-Z]	匹配任何从大写 A 到大写 Z 的字符。
[A-z]	匹配任何从大写 A 到小写 z 的字符。都可写[^A-z],匹配任何其中不包含的字符。
 x|y    匹配x或y。

三、常用正则表达式

  1. 身份证
  var str="61052319890917238X";//假设
  var sfz=/^[0-9]\d{5}(19|20)\d{2}((0\d)|(1[0-2]))(([0-2]\d)|(3[0-1]))\d{3}(\d|X)$/;
  console.log(str.match(sfz));
  1. 用户名
 var userId = /^[a-z0-9_-]{3,16}$/;
  1. 密码
   var password = /^[a-z0-9_-]{6,18}$/;
  1. 电子邮箱
   var email = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;
   var email = /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/;
Archery 定位于 SQL 审核查询平台,旨在提升 DBA 的工作效率,支持多种数据库的 SQL 上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作。 启动: 下载 Releases文件,解压后进入docker-compose文件夹 #启动 docker-compose -f docker-compose.yml up -d #表结构初始化 docker exec -ti archery /bin/bash cd /opt/archery source /opt/venv4archery/bin/activate python3 manage.py makemigrations sql   python3 manage.py migrate #数据初始化 python3 manage.py dbshellpython3 manage.py dbshell #创建管理用户 python3 manage.py createsuperuser #重启服务 docker restart archery #日志查看和问题排查 docker logs archery -f --tail=10 logs/archery.log 访问 http://127.0.0.1:9123/     Archery SQL审核查询平台 更新日志: v1.8.1 变更说明 移除对 Inception 的审核支持,仅作为脱敏语句解析使用 在线查询,pg数据库增加会话超时设定,支持查询脱敏 慢查日志和明细列表支持按表头字段进行服务端排序 默认资源组、权限组支持多选,优化系统配置下拉选项 修复说明 解决数据库区分大小写时查看事务信息报错的问题 解决 memoryview is not JSON serializable PG脱敏-查询语句中带有别名脱敏处理 解决查询结果不展示json对象的问题 调整启动方式为wsgi,解决上版本出现访问阻塞的问题 企业微信消息推送,如果消息接受者ID为空,则不会调用企业微信官方API. fix(sendmsg/feishu): fix #1016 支持新版飞书 webhook 接口 ) Bump django from 3.1.2 to 3.1.6 add pycryptodome to requirements 易用性调整 手动执行按钮改名为“已手动完成” 安全性调整 对接受入参的SQL拼接增加参数转义,规避注入风险 使用shlex.quote()对插件参数进行过滤,规避注入风险
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值