how can i validate a url in javascript using regular expression

后端 未结 4 824
情歌与酒
情歌与酒 2020-12-10 07:11

i want to validate a textbox who have some url value like blogs address or site adress how can i validate this textbox in js

4条回答
  •  死守一世寂寞
    2020-12-10 07:58

    var regExpUrl = new RegExp( "^((http|https|ftp)\://){1}([a-zA-Z0-9\.\-]+\.(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$");
    
    var inputArrs = [
    	"http://190.190.1.190:8080",
    	"https://190.190.1.190:8080",
    	"http://190.190.1.190:8080/",
    	"http://190.190.1.190:8080/xampp/",
    	"http://190.190.1.190:8080/testproject",
    	"http://190.190.1.190:8080/testproject/admin/index.php",
    	"http://190.190.1.190:8080/testproject/admin/index.php?a=asdf&asdf",
    	"http://190.190.1.190:8080/phpmyadmin",
    	"http://www.google.com.au",
    	"https://www.google.com.au/asdf/asdf/asdfasdf?asdf=asdf&asdf=asdf",
    	"http://google.com.au",
    	"https://google.com.au",
    	"www.google.com.au",
    	"google.com.au",
    	"http://www.google.com.au",
    	"test",
    	"!@#!@#!@#",
    	"123",
    	"210.110",
    	"y.y.y.y",
    	"255.0.0.y",
    	"666.10.10.20",
    	"4444.11.11.11",
    	"33.3333.33.3",
    	"190.190.1.190",
    	"190.190.1.190",
    	"190.190.1.190:80",
    	"190.190.1.190:8080",
    	"190.190.1.190:",
    	
    ];
    
    inputArrs.forEach(function(input) {
    	if(regExpUrl.test(input)) {
    		res = "URL/IP Valid";
    	} else {
    		res = "Invalid URL/IP";
    	}
    	prevVal = document.getElementById("response").innerHTML;
        document.getElementById("response").innerHTML = prevVal + "
    " + input + " = " + res + "
    "; });

提交回复
热议问题