如何使用JavaScript检查@是否在文本光标位置之前?

时间:2019-07-04 11:06:34

标签: javascript

我想检查输入字段中的光标位置是字符串中的@字符之前还是@字符之后...并根据光标位置获取字符串

考虑用户输入类似的字符串

“我是@”,则光标位置在索引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*/
        }

我该怎么做。谢谢。

0 个答案:

没有答案