在.keyup方法JQuery上过滤值

时间:2016-02-15 17:41:56

标签: javascript jquery html forms keyup

我有两个字段(用户名和电子邮件),我想用电子邮件字段的内容自动填充用户名,因为用户名是隐藏的输入。

我只需要@domain.com之前的满足感。现在我正在使用.keyup(),但我也可以使用.change()

我怎样才能在@domain.com之前获取内容?

$('#id_email').keyup(function () {
    $('#id_username').val($(this).val());
});

编辑:所有答案都很完美,非常感谢你。

4 个答案:

答案 0 :(得分:3)

有点简单,但你可以做点什么吗

var email =" test@example.com" ;; var username = email.split(' @')[0];

这样:



<script>
    $('#id_email').change(function () {
        var email = $(this).val();
        $('#id_username').val(email.split('@')[0]);
    });
</script>
&#13;
&#13;
&#13;

它会起作用,但当然会假定有效的电子邮件地址。

答案 1 :(得分:2)

Dustin Simpson 答案的编辑版本,仅仅因为我相信输入它更适合这种东西,而不是 keyup 更改,而且我们也不需要存储任何电子邮件变量。

$('#id_email').on('input',function(){
   $('#id_username').val($(this).val().split('@')[0]);
});

检查 fiddle

答案 2 :(得分:1)

试试这个

$('#id_email').keyup(function () {
    var usr = $(this).val();
    var usr = usr.split('@');
    $('#id_username').val(usr[0]);
});

了解拆分的工作原理: http://www.w3schools.com/jsref/jsref_split.asp

答案 3 :(得分:1)

尝试这个...

$('#id_email').keyup(function () {
    $('#id_username').val($(this).val().split('@')[0]);
});