jQuery技术实现:点击按钮如何分割文本框中的@符号内容?
截取邮箱@符号前内容的解决方案
我来帮你搞定这个问题!你当前的代码里,split("@")会把邮箱字符串分割成一个包含两个元素的数组(比如["test", "gmail.com"]),直接将这个数组赋值给文本框的话,它会显示成test,gmail.com,而不是你想要的test。只需要取数组的第一个元素就能达到目标,下面是修正后的完整代码:
完整代码示例
<textarea id="txtList" placeholder="" style="color:black">test@gmail.com</textarea> <input id="email" style="" value="Split" type="button"> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(function(){ $("#email").on('click', function(e){ // 截取@符号前的内容,取split后的第一个元素 const emailPrefix = $("#txtList").val().split("@")[0]; $("#txtList").val(emailPrefix); }); }); </script>
关键说明
split("@"):将邮箱字符串按@分割为数组,比如"test@gmail.com"会变成["test", "gmail.com"][0]:取数组的第一个元素,也就是@符号之前的内容$(function(){...}):确保DOM元素加载完成后再绑定点击事件,避免出现找不到元素的问题
另外你注释掉的原生JS写法是正确的,只需要把那部分逻辑迁移到按钮的点击事件里就能正常运行啦。
内容的提问来源于stack exchange,提问作者mosibo
相关产品推荐
相关产品推荐

