9

如何在 JavaScript 中使用正则表达式valid domain name检查和?username

function validate()
{
    var patt1=new RegExp(/^[a-zA-Z0-9._-]+\\[a-zA-Z0-9.-]$/);

    var text= document.getElementById('text1').value;

    alert(patt1.test(text));
}

但这对我不起作用。

4

5 回答 5

12
function CheckIsValidDomain(domain) { 
    var re = new RegExp(/^((?:(?:(?:\w[\.\-\+]?)*)\w)+)((?:(?:(?:\w[\.\-\+]?){0,62})\w)+)\.(\w{2,6})$/); 
    return domain.match(re);
} 

试试这个它对我的工作。

于 2013-02-01T12:46:43.387 回答
5

不要将RegExp构造函数正则表达式文字混淆。使用任一

/^[a-zA-Z0-9._-]+\\[a-zA-Z0-9.-]$/

或者

new RegExp("^[a-zA-Z0-9._-]+\\\\[a-zA-Z0-9.-]$");

不知道反斜杠在那里做什么,顺便说一句。你想匹配一个点吗?在字面上,使用\.,在字符串中使用\\.

于 2012-10-23T09:56:23.923 回答
5

用这个:

<script>
    function frmValidate() {
        var val = document.frmDomin.name.value;
        if (/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/.test(val)) {
            alert("Valid Domain Name");
            return true;
        } else {
            alert("Enter Valid Domain Name");
            val.name.focus();
            return false;
        }
    }
</script>
于 2015-01-05T09:25:11.697 回答
1

检查这个:http ://shauninman.com/archive/2006/05/08/validating_domain_names

/^([a-z0-9]([-a-z0-9]*[a-z0-9])?\\.)+((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|(m[acdghklmnopqrstuvwxyz]|mil|mobi|museum)|(n[acefgilopruz]|name|net)|(om|org)|(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw])$/i
于 2012-10-23T09:58:24.313 回答
-1

此代码也支持子域:

^(([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9])\.)*[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$
于 2016-07-12T07:58:31.860 回答