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 相关文章推荐
fromCharCode和charCodeAt 方法
Dec 27 Javascript
JS滚轮事件onmousewheel使用介绍
Nov 01 Javascript
js单词形式的运算符
May 06 Javascript
jQuery获取动态生成的元素示例
Jun 15 Javascript
谈一谈javascript中继承的多种方式
Feb 19 Javascript
jQuery自定义组件(导入组件)
Nov 08 Javascript
jQuery 选择符详细介绍及整理
Dec 02 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
Jan 04 Javascript
javascript 封装Date日期类实例详解
May 28 Javascript
ES6中字符串string常用的新增方法小结
Nov 07 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
Sep 01 Javascript
JS实现获取当前所在周的周六、周日示例分析
May 11 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中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
IE下js调试工具Companion.JS
2010/10/15 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
JQuery CheckBox(复选框)操作方法汇总
2015/04/15 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
python list删除元素时要注意的坑点分享
2018/04/18 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
python 循环数据赋值实例
2019/12/02 Python
python的flask框架难学吗
2020/07/31 Python
python openssl模块安装及用法
2020/12/06 Python
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
.NET程序员的数据库面试题
2012/10/10 面试题
表扬信格式
2014/01/12 职场文书
建材投资建议书
2014/05/16 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
单位委托书怎么写
2014/09/21 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技