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 相关文章推荐
js调用flash的效果代码
Apr 26 Javascript
javascript Base类 包含基本的方法
Jul 22 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
Jquery 常用方法经典总结
Jan 28 Javascript
JS在IE和FireFox之间常用函数的区别小结
Mar 12 Javascript
javascript使用location.search的示例
Nov 05 Javascript
多种方法实现load加载完成后把图片一次性显示出来
Feb 19 Javascript
早该知道的7个JavaScript技巧
Jun 21 Javascript
基于Vue2.X的路由和钩子函数详解
Feb 09 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 Javascript
js实现星星打分效果
Jul 05 Javascript
js实现验证码功能
Jul 24 Javascript
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 class类的用法详细总结
2013/10/17 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
js实现带简单弹性运动的导航条
2017/02/22 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
python自动化测试之setUp与tearDown实例
2014/09/28 Python
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
Python列表解析操作实例总结
2020/02/26 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
美国五金商店:Ace Hardware
2018/03/27 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
区优秀教师事迹材料
2014/02/10 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
医院营销工作计划
2015/01/16 职场文书
车间主任岗位职责
2015/02/03 职场文书
办公室岗位职责范本
2015/04/11 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
如何利用golang运用mysql数据库
2022/03/13 Golang