Angular短信模板校验代码

 更新时间:2020年09月23日 09:13:36   作者:蜗牛狂奔  
这篇文章主要介绍了Angular短信模板校验代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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使用post、get向后台传参的问题实例

    angular使用post、get向后台传参的问题实例

    本篇文章主要介绍了angular使用post、get向后台传参的问题实例。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Angularjs注入拦截器实现Loading效果

    Angularjs注入拦截器实现Loading效果

    angularjs作为一个全ajax的框架,对于请求,如果页面上不做任何操作的话,在结果反回来之前,页面是没有任何响应的,不像普通的HTTP请求,会有进度条之类
    2015-12-12
  • 详解angular element()方法使用

    详解angular element()方法使用

    本篇文章主要介绍了详解angular element()方法使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • AngularJS过滤器filter用法分析

    AngularJS过滤器filter用法分析

    这篇文章主要介绍了AngularJS过滤器filter用法,结合实例形式分析了过滤器filter的功能、分类、使用方法与相关注意事项,需要的朋友可以参考下
    2016-12-12
  • AngularJS实现表单手动验证和表单自动验证

    AngularJS实现表单手动验证和表单自动验证

    本文是对AngularJS表单验证,手动验证或自动验证的讲解,对学习JavaScript编程技术有所帮助,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • AngularJS表单详解及示例代码

    AngularJS表单详解及示例代码

    本文主要介绍AngularJS表单的知识,这里整理了表单的基础知识和简单的示例代码,有需要的小伙伴可以参考下
    2016-08-08
  • AngularJS实现根据变量改变动态加载模板的方法

    AngularJS实现根据变量改变动态加载模板的方法

    这篇文章主要介绍了AngularJS实现根据变量改变动态加载模板的方法,结合实例形式简单分析了AngularJS动态加载模板的主要操作技巧与模板实现代码,需要的朋友可以参考下
    2016-11-11
  • AngularJS 过滤器的简单实例

    AngularJS 过滤器的简单实例

    本文主要介绍AngularJS 过滤器,这里提供详细了AngularJS 过滤器详细资料,并提供简单实例,有需要的朋友可以参考下
    2016-07-07
  • 使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码

    使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码

    这篇文章主要介绍了使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Angular2下使用pdf插件的方法详解

    Angular2下使用pdf插件的方法详解

    这篇文章主要给大家介绍了在Angular2下使用pdf插件的方法,使用这个插件是要实现一个pdf显示的功能,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04

最新评论