使用Regex防止特定的特殊字符出现在字符串中的任何位置
Prevent a specific special character from appearing ANYWHERE within a string with Regex?
我正在做一个非常非常简单的正则表达式,它是:/^.*@.*'..*[a-z]$/i
我所要做的就是在那里扔一些东西,如果在字符串中有<
或>
任何地方就会失败。
我最初的想法是这样的:/^[^<>].*@.*'..*[a-z]$/i
,但这只有在<或者>在字符串的开头或结尾。是否有一个简单的命令,我错过了,所以它会失败,如果这些字符中的任何一个是在字符串的任何地方?或者>
为什么使用正则表达式?这看起来有点矫枉过正,而且regex一点也不简单。
为什么不直接使用includes()
函数呢?
!str.includes(">") && !str.includes("<")
您需要的RegExp就像/<|>/
一样简单。测试'not<ok>string'.match(/<|>/);
和'okstring'.match(/<|>/)
var okString = 'okstring';
var notOkString = 'not<ok>string';
if(okString.match(/<|>/)){
console.log('this won''t log');
}
if(notOkString.match(/<|>/)){
console.log('this will log');
}
您可以在regex中使用否定字符类而不是.*
:
/^[^<>]*@[^<>]*'.[^<>]*[a-z]$/i
[^<>]*
将匹配0个或多个非<
或>
的字符
或者只是测试<
或>
是否存在,使用:
var ret = /[<>]/.test(string); // true means presence of < or >
相关文章:
- 根据另一个数组对数组进行排序,包括位置和字符串[ES6]
- Javascript中的正则表达式,用于只有数字的字符串,并且不应在除数字以外的任何位置包含任何字符
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 在从索引位置返回的字符串中查找空白
- 为什么我在 webpack 中需要 html 文件时会得到一个位置字符串
- 如何在JavaScript中根据字符的位置提取子字符串
- 在光标位置的文本区域中插入一个字符串,并进行一些更改
- 通过位置栏更改查询字符串,AJAX加载的菜单不会't在没有硬刷新的情况下重新填充
- 如何在字符串中的特定位置插入变量
- javaScript更改字符串char's的位置
- 替换元素中字符串的所有位置
- javascript/谷歌地图:将位置对象转换为字符串
- 存储字母表中每个字母在所需位置的字符串中出现的次数
- 如何将字符串(包含位置)转换为数组
- Javascript 中的第一个下一个/上一个子字符串位置
- 如何根据子字符串位置在代码镜像中突出显示子字符串
- 根据字符串位置在谷歌地图中放置标记
- 使用Javascript查找字符串中的子字符串位置
- 鼠标处的字符串位置
- 查找 url 中的字符串位置并替换 url