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 相关文章推荐
用函数式编程技术编写优美的 JavaScript_ibm
May 16 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
使用jquery实现div的tab切换实例代码
May 27 Javascript
javascript 原型链维护和继承详解
Nov 26 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
javascript输出AscII码扩展集中的字符方法
Dec 26 Javascript
详解利用 Express 托管静态文件的方法
Sep 18 Javascript
vue 中filter的多种用法
Apr 26 Javascript
今天,小程序正式支持 SVG
Apr 20 Javascript
js实现三角形粒子运动
Sep 22 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
Nov 12 Javascript
Vue多选列表组件深入详解
Mar 02 Vue.js
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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
基于jquery的滑动样例代码
2010/11/20 Javascript
js弹出div并显示遮罩层
2014/02/12 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
canvas轨迹回放功能实现
2017/12/20 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python简单基础小程序的实例代码
2019/04/28 Python
python获取点击的坐标画图形的方法
2019/07/09 Python
python Gunicorn服务器使用方法详解
2019/07/22 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
python openpyxl模块的使用详解
2021/02/25 Python
香港交友网站:be2香港
2018/07/22 全球购物
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
Talbots官网:美国成熟女装品牌
2019/11/15 全球购物
Java面试题及答案
2012/09/08 面试题
sort命令的作用和用法
2012/11/04 面试题
护理专业毕业生自荐信范文
2014/01/05 职场文书
运动会通讯稿100字
2014/01/31 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
银行授权委托书格式
2014/10/10 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
五年级语文教学反思
2016/03/03 职场文书
创业计划书之养殖业
2019/10/11 职场文书
MySQL分布式恢复进阶
2022/07/23 MySQL