javascript - 如果字符串包含特定字符,则抛出错误
问题描述
我是正则表达式的新手,我只是想知道什么是可能的正则表达式来检查我的字符串是否包含以下任一字符:o、q、i、O、Q、I。
我目前正在使用以下方法执行此操作:
const notAllowedCharacters = ['Q' , 'q' , 'O' , 'o', 'I' , 'i'];
const nameValue = this.form.get('nameValue').value.split('');
nameValue.forEach(value => {
if(notAllowedCharacters.indexOf(value) > -1) {
this.isValidName = false;
}
})
谢谢。
解决方案
如果您在 Angular 中使用响应式表单,您可以在表单控件的Validators.pattern中使用“模式”:
Validators.pattern("[^oOqQiI]+")
或者,
Validators.pattern(/^[^oqi]+$/i)
/^[^oqi]+$/i
表达式匹配由任何一个或多个非字符组成的整个字符串o
,q
并且i
(i
是不区分大小写的标志)。
见证明。
推荐阅读
- reactjs - 组件之间的连接 React - 购物车
- python-3.x - 使用python查询特定的块文件
- tensorflow - Tensorflow:将预训练的模型权重加载到不同的架构中
- javascript - 如何在 Docusaurus 中自定义发行说明页面?
- c++ - C++ 和 XAML - 来自文本框的数字输入
- c# - 使用通配符过滤字符串列表
- java - 如何映射 row_version 列?
- php - 未通过 PDO 循环插入的多维数组值
- java - 将 mapdifference 转换为 jsonnode
- angular - 尝试在提供程序中使用 ionic 3 时出现 navCtrl 问题