JavaScript regular expression validation for domain name?

后端 未结 6 1230
野的像风
野的像风 2020-12-17 23:45

How to check a valid domain name and username with regular expression in JavaScript?

function validate()
{
    var         


        
相关标签:
6条回答
  • 2020-12-18 00:18
    function CheckIsValidDomain(domain) { 
        var re = new RegExp(/^((?:(?:(?:\w[\.\-\+]?)*)\w)+)((?:(?:(?:\w[\.\-\+]?){0,62})\w)+)\.(\w{2,6})$/); 
        return domain.match(re);
    } 
    

    try this its work for me.

    0 讨论(0)
  • 2020-12-18 00:22

    Don't mix up the RegExp constructor with regex literals. Use either

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

    or

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

    Not sure what the backslash does in there, btw. Did you want to match a dot? In literal, use \., in string use \\..

    0 讨论(0)
  • 2020-12-18 00:22

    This maybe slightly off-topic but after searching the internet for several hours and trying out various RegExp's (non of which would work for me). I decided to write my own function that would take a list of valid TLD extensions and run a validation against them. So for anyone who is having a similar problem, please check out my Javascript function:

    function domainCheck(dom) {
        // convert input to lowercase.
        dom = dom.toLowerCase();
        // find the first occurance of '.'
        pos = dom.indexOf(".");
        // Using the first occurance of '.'
        // find the extension submitted.
        tld = dom.substring(pos);
        switch(tld) {
            // TLD's to accept.
            case '.com': return true; break;
            case '.co.uk': return true; break;
            case '.eu': return true; break;
            case '.io': return true; break;
            case '.co': return true; break;
            case '.net': return true; break;
            default: return false;
        }
    }
    

    I have created a demo using this function here: http://jsfiddle.net/netfox/MhPG8/19/embedded/result/

    0 讨论(0)
  • 2020-12-18 00:24

    This code support sub-domains too:

    ^(([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,}$
    
    0 讨论(0)
  • 2020-12-18 00:25

    Use this:

    <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>
    
    0 讨论(0)
  • 2020-12-18 00:27

    check this: 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
    
    0 讨论(0)
提交回复
热议问题