我想检查输入字段中的光标位置是字符串中的@字符之前还是@字符之后...并根据光标位置获取字符串
考虑用户输入类似的字符串
“我是@”,则光标位置在索引6处,应检查其前面是否有@字符。如果是这样,则它应该从@字符获取字符串,直到找到空白字符为止。
如果用户输入
“ i am @user”并重新输入“ i am @user”,并认为光标位置在索引2处,因此应该将字符串从该位置获取到字符串的结尾。
我尝试了什么?
handle_input_change = (event) => {
const {value} = event.target;
if (value.includes('@') && value.indexOf('@') === value.length - 1) {
/*do something*/
} else if (value.length > 1) {
const cursor_start = event.target.selectionStart;
let string_after_at;
const character_is_after_cursor = value.includes('@', cursor_start);
if (!after_cursor) {
string_after_at = value.slice(value.indexOf('@') + 1).toLowerCase();
}else {
/*how to get string after @ character that is found before cursor position*/
}
我该怎么做。谢谢。