jQuery选择器检查特定文本(域扩展)

时间:2014-02-07 08:47:50

标签: javascript jquery email

如何检查电子邮件输入是否包含特定的域扩展名,例如.com,.at,net ...? 有没有可以帮助我的jQuery选择器?

Email Address: <input type='text' id='txtEmail'/><br/>
<input type='submit' id='btnValidate' Value='Validate Email' />
body
{
    padding: 10px;
    font-family: Arial;
    Font-size: 10pt;
}
$(document).ready(function(e) {
    $('#btnValidate').click(function() {
        var sEmail = $('#txtEmail').val();
        if ($.trim(sEmail).length == 0) {
            alert('Please enter valid email address');
            e.preventDefault();
        }
        if (validateEmail(sEmail)) {
            alert('Email is valid');
        }
        else {
            alert('Invalid Email Address');
            e.preventDefault();
        }
    });
});

function validateEmail(sEmail) {
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (filter.test(sEmail)) {
        return true;
    }
    else {
        return false;
    }

http://jsfiddle.net/kUxcz/422/

3 个答案:

答案 0 :(得分:1)

尝试使用负值从最后分割:

sEmail.split('.')[-1]

答案 1 :(得分:1)

使用

拆分它
arr =  sEmail.split('.');

domain = arr[arr.length-1];

var domain = sEmail.substring(sEmail.lastIndexOf(".") + 1, sEmail.length);

答案 2 :(得分:0)

试试这个,

Demo

newemail = sEmail.split('').reverse().join('')
newemail = newemail.split('.')[0].split('').reverse().join('');