Jquery 如何在textarea中包含不可删除的单词(文本的一部分)

Jquery 如何在textarea中包含不可删除的单词(文本的一部分),jquery,textarea,Jquery,Textarea,我正在开发一个应用程序,该应用程序需要文本区域中的一部分文本不可删除,同时他们可以将文本添加到textarea 例如,当用户访问某个网页时,它有一个文本区域,其中包含该用户的文本{username}。用户可以添加更多文本,如地球是地球,但不能从该文本区域删除{username} 我正在使用Jquery作为javascript类,我们能在Jquery中实现它吗?我认为唯一的方法是执行验证以确保他们没有删除{username},如果他们删除了,则显示一条错误消息(可能还会在文本区域的开头自动插入{u

我正在开发一个应用程序,该应用程序需要文本区域中的一部分文本不可删除,同时他们可以将文本添加到
textarea

例如,当用户访问某个网页时,它有一个文本区域,其中包含该用户的文本
{username}
。用户可以添加更多文本,如地球是地球,但不能从该文本区域删除
{username}


我正在使用Jquery作为javascript类,我们能在Jquery中实现它吗?

我认为唯一的方法是执行验证以确保他们没有删除
{username}
,如果他们删除了,则显示一条错误消息(可能还会在文本区域的开头自动插入
{username}


然而,我同意路易斯的观点,这是一条艰难的道路。在一个只读字段中显示他们的用户名,然后给他们一个文本区域,让他们添加自己要显示的内容,怎么样?

一点也不确定,但我得到了这个,它仍然需要改进很多

<script>

$(function (){
    $('#txtarea').keyup(function (){check()});
})

var txt = "username"; 
//txt is reg exp

function check(){
    var txtarea = $('#txtarea');
    var val = $(txtarea).val();

    if(val.match('^'+txt)){
        //do nothing
    }
    else
    {
        $(txtarea).val(txt+" "+val);
    }
}
</script>
<textarea id="txtarea">username</textarea>
<a href="#"  onclick="check()">check</a>

$(函数(){
$('#txtarea').keyup(函数(){check()});
})
var txt=“用户名”;
//txt是reg exp
函数检查(){
var txtarea=$(“#txtarea”);
var val=$(txtarea).val();
if(val.match('^'+txt)){
//无所事事
}
其他的
{
$(txtarea).val(txt+“”+val);
}
}
用户名
[更新]

<script>

$(function (){
    $('#txtarea').keyup(function (){check()});
})

var txt = "username"; 
//txt is reg exp

function check(){
    var txtarea = $('#txtarea');
    var val = $(txtarea).val();

    if(val.match('^'+txt)){
        //do nothing
    }
    else
    {
        //this is quite a bit flawed
        //and i m terrible with regex
        //do try to become creative
        val = val.replace('usernam', '');
        val = val.replace('userna', '');
        val = val.replace('usern', '');
        val = val.replace('user', '');
        val = val.replace('use', '');
        val = val.replace('us', '');
        val = val.replace('u', '');

        $(txtarea).val(txt+" "+val);
    }
}
</script>
<textarea id="txtarea">username</textarea>
<a href="#"  onclick="check()">check</a>

$(函数(){
$('#txtarea').keyup(函数(){check()});
})
var txt=“用户名”;
//txt是reg exp
函数检查(){
var txtarea=$(“#txtarea”);
var val=$(txtarea).val();
if(val.match('^'+txt)){
//无所事事
}
其他的
{
//这是相当有缺陷的
//我对regex很糟糕
//一定要努力变得有创造力
val=val.replace('usernam','');
val=val.replace('userna','');
val=val.replace('usern','');
val=val.replace('用户','');
val=val.replace('使用','');
val=val.replace('us','');
val=val.replace('u','');
$(txtarea).val(txt+“”+val);
}
}
用户名

如果你想将文本定位在固定的前端或端部,我找到了一个解决方案

固定前端:

固定端:


干杯

虽然你的问题有道理,但我认为你走的是最艰难的道路,也许使用HTML5画布渲染不可变文本并编辑默认克拉位置可以实现这一点,但我同意路易斯的观点,换一种方式更实际。好主意。。但是我正在做一些很酷的事情。。如果我的结果是肯定的,我会通知你们的:P