检查textarea是否包含符号并在符号后删除所有符号

时间:2014-02-17 15:04:17

标签: javascript text replace textarea indexof

当我点击按钮时,我有一个电子邮件页面加载。 “收件人:”字段包含太多电子邮件,我想在页面加载时运行脚本以检查框中是否包含分号,如果包含分号,则应删除分号和之后的任何文本它。

当我在页面上查看脚本时,这是文本区域的HTML代码:

<textarea class="EDIT" name="email_to" id="email_to" maxlength="8000" rows="1" style="height:2em;" cols="80">test@testemail.com;test2@testemail.com;</textarea>

因此,当页面加载脚本时,应检查email_to字段。例如:

[test@testemail.com;test2@testemail.com]

应该删除它的分号以及之后的任何内容以留下它:

[test@testemail.com]

到目前为止我所拥有的内容如下

function checkTextField(email_to) {
    var check = (email_to.indexOf(';');
    if (check != -1)  
        {
        check.replace(/;.*/, '');
        }
}

我认为我的主要问题是,当我执行console.log(email_to)时,它会为我提供文本框中的所有样式和所有内容,而我想要的只是textarea中保存的文本。

它可能不需要在函数中,只能是一个onload脚本,但我是javascript的新手,所以我不知道该使用什么。

3 个答案:

答案 0 :(得分:1)

根据我的理解,您希望在“email_to.value”上运行,而不是“email_to”textarea本身

答案 1 :(得分:0)

只选择html,而不是整个元素。

 function checkTextField(email_to) {
    var ht = email_to.innerHTML;
    var check = (ht.indexOf(";");
    if (check != -1)
    {
       // Bla bla
    }
 }

注意:该功能是从你的复制的,我只添加了你要求的内容,你有更多的问题。

答案 2 :(得分:0)

所以经过一番搜索后我发现我的方式是不必要的,并被告知要使用以下内容:

function checkTextField (str) {

    return str.substring(0, str.indexOf(';'));
}

$('#email_to').val(checkTextField($('#email_to').val()));

这似乎工作得很好,看起来我也需要了解jQuery!