0

对焦时如何清除部分文本?

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

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

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

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

5 回答 5

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\]$/, ''));
});
于 2013-07-04T06:28:06.567 回答
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/

于 2013-07-04T06:27:57.560 回答
0

尝试

$("#seMailTxt").val().replace("someString", " ");
于 2013-07-04T06:28:13.780 回答
0

在您的文本上使用替换:

$email = $email.replace('your text to erase','');
于 2013-07-04T06:28:15.027 回答
0

您已经知道的功能的组合indexOf可以用于substring实现您想要的结果。看一眼:

$("#seMailTxt").focus(function(){
$email=$("#seMailTxt").val();
if ($email.indexOf(" [Not Valid]")>=0)
{
    $("#seMailTxt").val($email.substring(0, $email.indexOf(" [Not Valid]"));
}
});
于 2013-07-04T06:29:09.073 回答