Angular短信模板校验代码


Posted in Javascript onSeptember 23, 2020

1、短信模板内容

验证码 ${username} 12345
验证码 ${username} 12345
验证码 ${username} 12345

从代码中提取 username, 并判断验证码 username中只存在英文字母

2、内容校验,提取模板中${}的内容并且,内容只能使用英文

smsTemplateContentChange(value){
  // 短信模板内容 校验
  const error = this.smsTemplateForm.get('templateContent').getError('pattern');
  if (error){
   return;
  }else{
   this.smsTemplateForm.get('templateContent').setErrors(null);
  }
  const reg = /\$\{((?!\{).)*\}/g;
  const matchStr = value.match(reg);
  const resultList = new Set();
  this.paramsList = new Set();
  const pattern = '^[a-zA-Z]{1,}$';
  const regex = new RegExp(pattern);
  let isError = false;
  if (matchStr){
   matchStr.forEach((item: string) => {
    const result = item.replace('${', '').replace('}', '');
    if (!result.match(regex)){
     isError = true;
    }
    resultList.add(result);
   });
   if (isError){
    // 设置错误信息
    this.smsTemplateForm.get('templateContent').setErrors({errorParams: '参数只能使用英文'});
   }else{
    this.paramsList = resultList;
   }

  }
  // console.log(value.match(reg).replace('${', '').replace('}', ''));

 }

3、前端html

<se label="短信模板" [error]="{
  required: '请输入短信模板',
  pattern: '最大长度不超过200!',
  errorParams: '${}参数中只能使用英文'}">
   <textarea formControlName="xxx" [(ngModel)]="smsTemplateVo.xxx"
        (ngModelChange)="smsTemplateContentChange(smsTemplateVo.xxx)" nz-input required></textarea>
   <div ><strong>提取可用参数:</strong><nz-tag *ngFor="let tag of paramsList" nzColor="default">{{tag}}</nz-tag></div>
  </se>
 

4、最终效果

Angular短信模板校验代码

Angular短信模板校验代码

到此这篇关于Angular短信模板校验代码的文章就介绍到这了,更多相关Angular短信模板校验内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
QQ登录简单实现代码
Mar 09 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
Jun 17 Javascript
jQuery实现倒计时按钮功能代码分享
Sep 03 Javascript
JS实现类似51job上的地区选择效果示例
Nov 17 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
基于hover的用法实例(推荐)
Jul 04 Javascript
js实现随机点名小功能
Aug 17 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
Sep 18 Javascript
处理JavaScript值为undefined的7个小技巧
Jul 28 Javascript
JS实现拖拽元素时与另一元素碰撞检测
Aug 27 Javascript
jQuery+ajax实现文件上传功能
Dec 22 jQuery
JavaScript实现单点登录的示例
Sep 23 #Javascript
Vue+Java+Base64实现条码解析的示例
Sep 23 #Javascript
通过实例解析jQ Ajax操作相关原理
Sep 23 #Javascript
js实现三角形粒子运动
Sep 22 #Javascript
js操作两个json数组合并、去重,以及删除某一项元素
Sep 22 #Javascript
js实现删除json中指定的元素
Sep 22 #Javascript
vue使用canvas实现移动端手写签名
Sep 22 #Javascript
You might like
php使用include 和require引入文件的区别
2017/02/16 PHP
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
梳理一下vue中的生命周期
2020/12/30 Vue.js
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
Python自动抢红包教程详解
2019/06/11 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
python手写均值滤波
2020/02/19 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
员工试用期考核自我鉴定
2014/04/13 职场文书
推荐信模板
2014/05/09 职场文书
齐云山导游词
2015/02/06 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python