如何删除焦点上的部分文字?

时间:2013-07-04 06:25:41

标签: javascript jquery

如何在焦点上清除部分文字?

我在验证失败时在文本值末尾添加“无效”,我想在用户关注它时删除该部分。

$("#seMailTxt").val($email+" [Not Valid]");

这是我到目前为止写的焦点剧本

$("#seMailTxt").focus(function(){
$email=$("#seMailTxt").val();
if ($email.indexOf(" [Not Valid]")>=0)
{
    //code to erase [Not Valid]
}
});

5 个答案:

答案 0 :(得分:2)

$("#seMailTxt").focus(function(){
    $email=$("#seMailTxt").val();
    // This looks for that exact string at the end of the line
    // and strips it out
    $("#seMailTxt").val($email.replace(/ \[Not Valid\]$/, ''));
});

答案 1 :(得分:0)

也许你可以使用replace

$("#seMailTxt").focus(function(){
   var $email = $("#seMailTxt");   

   if($email.val().indexOf(" [Not Valid]")>=0) 
      $email.val($email.val().replace(" [Not Valid]",""));

});

演示:http://jsfiddle.net/hungerpain/wuwg5/

答案 2 :(得分:0)

尝试

$("#seMailTxt").val().replace("someString", " ");

答案 3 :(得分:0)

在文字上使用替换:

$email = $email.replace('your text to erase','');

答案 4 :(得分:0)

您已知道的功能indexOf的组合可与substring一起使用,以达到您想要的效果。看看:

$("#seMailTxt").focus(function(){
$email=$("#seMailTxt").val();
if ($email.indexOf(" [Not Valid]")>=0)
{
    $("#seMailTxt").val($email.substring(0, $email.indexOf(" [Not Valid]"));
}
});