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 页面只自动刷新一次
Jul 10 Javascript
javascript实现tabs选项卡切换效果(扩展版)
Mar 19 Javascript
eclipse如何忽略js文件报错(附图)
Oct 30 Javascript
jQuery性能优化的38个建议
Mar 04 Javascript
javascript修改图片src的方法
Jan 27 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
JS模拟按钮点击功能的方法
Dec 22 Javascript
JS+html5制作简单音乐播放器
Sep 13 Javascript
JavaScript伪数组用法实例分析
Dec 22 Javascript
js计算两个日期间的天数月的实例代码
Sep 20 Javascript
vue swipe自定义组件实现轮播效果
Jul 03 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
Apr 13 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 发送带附件邮件示例
2014/01/23 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
Python 编码处理-str与Unicode的区别
2016/09/06 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
Python tkinter label 更新方法
2018/10/11 Python
Django 多环境配置详解
2019/05/14 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
python 项目目录结构设置
2020/02/14 Python
Python各种扩展名区别点整理
2020/02/27 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
2020/06/23 Python
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
前台文员的岗位职责
2013/11/14 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
个人贷款担保书
2014/04/01 职场文书
会计个人实习计划书
2014/08/15 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
欢迎词怎么写
2015/01/23 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技