我想使用jQuery更改一些电子邮件输入以仅获取@之前的文本。

例如:

码:

$("#email").keyup(function () {
 var gecici = $(this).val();
    if (gecici.indexOf("@") != -1) {
        // not an e-mail, skip
        return false;
    } else {
        //CODE...
    }
});


输入/输出示例:

email: [email protected] >> test

最佳答案

据我所知,使用jQuery确实不能做太多的字符串操作,但是普通的javascript可以处理它。

我将其解释为您在寻找gecici.split('@')[0];之类的东西来获取@字符之前的名称/前缀。

例:



$("#email").keyup(function () {
    var gecici = $(this).val();
    if (gecici.indexOf("@") != -1) {
        $('#name').text(gecici.split('@')[0]);
    }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Email: <input id="email" type="text"/> Name/prefix: <span id="name"></span>





使用keyup可能不是最好的选择。首先,它需要比所需更多的处理。其次,它不能用于自动完成或复制粘贴(无论如何使用鼠标)。当字段失去焦点或提交表单时,最好进行检查。

10-05 21:06