【笔记】正则表达式验证url是否合法 (PHP|JavaScript|C#|C++)

验证url的正则为:


^(http|https|ftp):\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^\"])*$

PHP


function CheckUrl($url){
	// 定义正则表达式
	$url_reg = '/^(http|https|ftp):\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^\"])*$/'; 
	// 使用 preg_match ( string $pattern , string $subject , array &$matches = ? , int $flags = 0 , int $offset = 0 ) : int
	// 验证url是否有效
	$verify = preg_match($url_reg, $url,$new_url);
	if (!($verify)) {
		echo "网址无效";
	}each{
		echo "网址有效";
		return $new_url;
	}
}

JavaScript


function CheckUrl(url){
	var reg=/^(http|https|ftp):\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^\"])*$/;
	if(!reg.test(url)){ return false; }
	else{ return true; }
}

C#


using System.Text.RegularExpressions;

public static bool CheckUrl(string url)
{
	Regex rx = new Regex("^(http|https|ftp):\\/\\/[A-Za-z0-9]+\\.[A-Za-z0-9]+[\\/=\\?%\\-&_~`@[\\]\':+!]*([^\"])*$");
	if (rx.IsMatch(url))    return true;
	else                    return false;
}

C++


#include 
#include 
using namespace std;

bool CheckUrl(string url)
{
	const std::regex rx("^(http|https|ftp):\\/\\/[A-Za-z0-9]+\\.[A-Za-z0-9]+[\\/=\\?%\\-&_~`@[\\]\':+!]*([^\"])*$");
	if (regex_match(url, regex(rx)))	return true;
	else					return false;
}
点赞
  1. 小莫 小莫说道:
    Google Chrome Windows 10

    评论测试

发表评论

电子邮件地址不会被公开。必填项已用 * 标注