gpt4 book ai didi

javascript - 确定 char 是否在正则表达式中

转载 作者:行者123 更新时间:2023-11-28 14:40:28 25 4
gpt4 key购买 nike

我正在尝试使用 Quill 做一个自定义提及系统,我需要弄清楚如何确定给定的字符是否在字母表中。

示例:

我有这个字符串:Hello my @name is Luis,这个函数获取光标的位置并评估单词以检查它是否包含@:

CheckWord = function(quill, start){
let at = false, c_char;
for(var i = start; i > 0; --i){
c_char = quill.getText(i, 1);
if (c_char == '@') {
if (quill.getText(i-1, 1) == ' ' || quill.getText(i-1, 1) == '') {
at = true;
break;
}
}
if (c_char == ' ') {
at = false;
break;
}
}
return at;
}

一切正常,但在

 if (c_char == ' ') {
at = false;
break;
}

我需要验证是否不是字母字符(A、B、C、D等...)

我知道使用像这样的正则表达式 /^[a-zA-Z]+$/ 我可以实现我想要的,但我不知道如何实现它只是为了检查给定的信件有效。

最佳答案

您可以使用RegExp.prototype.test()要测试字符是否是字母表(a-z 或 A-Z),如果您想匹配字母表以外的其他字符,只需对此取反即可:

if (/[a-z]/i.test(c_char)) {
at = false;
break;
}

正则表达式中的 i 表示不区分大小写的搜索(将 i 视为 insensitive),即它检查小写和大写字母。由于 c_char 是单个字符,因此您不需要在正则表达式。

关于javascript - 确定 char 是否在正则表达式中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com