检查文本区域是不是包含符号并删除符号后的所有内容

Posted

技术标签:

【中文标题】检查文本区域是不是包含符号并删除符号后的所有内容【英文标题】:Check if a textarea contains a symbol and delete all after the symbol检查文本区域是否包含符号并删除符号后的所有内容 【发布时间】:2014-03-16 22:44:17 【问题描述】:

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

这是我在页面上查看脚本时文本区域的 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) 时,它会为我提供文本框的所有样式和所有内容,而我想要的只是文本区域中保存的文本。

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

【问题讨论】:

先正确语法! if check != -1 使用错误if (check != -1 ) 【参考方案1】:

据我了解,您希望对“email_to.value”进行操作,而不是“email_to”文本区域本身

【讨论】:

【参考方案2】:

只取 html,而不是整个元素。

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

注意:这个功能是从你那里复制的,我只是添加了你要求的,你有更多的问题。

【讨论】:

【参考方案3】:

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

function checkTextField (str) 

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


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

这似乎完美无缺,看来我也需要重新学习 jQuery!

【讨论】:

以上是关于检查文本区域是不是包含符号并删除符号后的所有内容的主要内容,如果未能解决你的问题,请参考以下文章

如何将 textarea 的插入符号始终保持在视口内?

如何使用 PHP 从文本区域解析文本中的 \n 符号

点击时文本区域的表情符号

如何在文本区域的当前插入符号位置插入文本

在文本区域中获取插入符号 XY 坐标 [重复]

插入符号在文本区域的第一行吗?在最后一行?