`
qxmcool
  • 浏览: 93574 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

正则表达式处理很复杂的包含多个URL及其包含中文的字符串

阅读更多
自己写的留着自己用的 如果能看懂这个正则的写法的话就可以直接用了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<script language="JavaScript">

function IsURL(str_url){
alert(str_url);
str_url=str_url.toLowerCase();
  var strRegex = "^([\w\u4E00-\u9FA5\uF900-\uFA2D])*"+"<(S*?)[^>]*>.*?|<.*? />"+"[a-zA-Z]*((http)?://)"
  + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?"+ "(([0-9]{1,3}\.){3}[0-9]{1,3}"+ "|"+ "([0-9a-z_!~*'()-]+\.)*"+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\."+"[a-z]{2,6})"  + "(:[0-9]{1,4})?"+ "((/?)|"+ "((/?)[\w\u4E00-\u9FA5\uF900-\uFA2D]*(/?))"+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)"+ "<(S*?)[^>]*>.*?|<.*? />$";
var tt = str_url.match(strRegex);
var re=new RegExp(strRegex);

alert("!!!!!!!!!!");
//if(tt != null){
for(int i = 0;i<tt.length;i++){
if (re.test(str_url))
{
alert(tt[i]);
return (true);
      }
else
{
alert("NO");
return (false);
      }
}
//} 
    }

function aaa(str_url){
//alert(str_url);
str_url=str_url.toLowerCase();
  var strRegex = "^([\w\u4E00-\u9FA5\uF900-\uFA2D])*"+
  "<(S*?)[^>]*>.*?|<.*? />"+
  "[a-zA-Z]*((https|http|ftp|rtsp|mms)?://)"
  + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
        + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
        + "|" // 允许IP和DOMAIN(域名)
        + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
        + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
        + "[a-z]{2,6})" // first level domain- .com or .museum
        + "(:[0-9]{1,4})?" // 端口- :80
+ "((/?)|"
+ "((/?)[\w\u4E00-\u9FA5\uF900-\uFA2D]*(/?))"//中文路径
        + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)"
+ "<(S*?)[^>]*>.*?|<.*? />$";

        var re=new RegExp(strRegex);
        if (re.test(str_url)){
alert(re);
            return (true);
        }else{
            return (false);
        }
    }

function t(regest){
//var regest = "<img src=http://www.baidu.com>";
regest=regest.toLowerCase();
tep = "^<?[img]+>?$";
var temp = new RegExp(tep);
if(temp.test()){
alert(temp);
return(true);
}else{
//alert("不匹配");
return(false);
}
}
</script>


<body>
测试的串
<hr>
<form action="#" method="post">
测试1:<textarea name="text" value="" cols="100" rows="10" onmouseout="IsURL(this.value)"></textarea><br /><br />
测试2:<textarea name="text" value="" cols="100" rows="10" onmouseout="t(this.value)"></textarea>
</form>
</body>
</html>
分享到:
评论

相关推荐

    易语言正则表达式文本替换

    - `子程序_正则文本替换`:可能包含以下参数:源文本、正则表达式模式、替换字符串、替换选项。返回替换后的文本。 - `子程序_正则文本分割`:根据正则表达式将文本分割成多个部分。 - `子程序_正则匹配数量`:...

    正则表达式学习资料以及练习项目代码很多

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在Python编程语言中,正则表达式提供了强大的文本处理能力,使得开发者能够高效地处理...

    正则表达式.chm

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。它由特殊字符(称为元字符)和普通字符组成,可以用来验证、提取、替换或操作文本。正则表达式在编程语言中广泛应用,如JavaScript、Python...

    python正则表达式_深入浅出

    无论是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这意味着该模块能够很好地处理各种字符集。 #### 二、基本概念与语法 **1. 转义字符** - 正则表达式中使用反斜杠(\)作为转义字符,用于匹配特殊...

    javascript正则表达式表单验证大全

    通过正则表达式和字符串替换方法,可以从完整的URL中提取出文件名或路径,这对于动态网页链接处理和资源定位十分关键。 #### 输入过滤 使用onkeyup和onbeforepaste事件监听器,结合正则表达式,可以实时过滤用户的...

    .NET正则表达式(网页版)

    正则表达式(Regular Expression)在编程领域中广泛用于数据验证、搜索与替换等场景,尤其是在处理复杂字符串操作时显得尤为高效。 正则表达式是一种模式匹配语言,可以用来描述一系列的字符组合。在.NET框架中,C#...

    常用正则表达式.rar

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在编程语言如C#和Java中,正则表达式是一个强大的工具,能帮助开发者高效地处理字符串...

    正在表达式 正则表达式正则表达式

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串模式。它在编程语言、文本编辑器和各种应用程序中广泛使用,能够帮助我们处理和验证各种字符串格式,如电子邮件地址、电话号码、日期等。正则...

    最实用最全面的正则表达式

    以上列举了一系列常用的正则表达式,涵盖了从简单的数字验证到复杂的文本处理各个方面。掌握这些表达式不仅能提高开发效率,还能提升代码的质量。需要注意的是,在使用正则表达式时,应根据具体的应用场景选择合适的...

    正则表达式教程 正则码

    正则表达式是一种强大的文本处理工具,用于在字符串中匹配特定模式。它是计算机科学和编程领域中的一个核心概念,尤其在数据验证、搜索与替换、文本解析等方面有着广泛的应用。正则表达式由一系列特殊字符和普通字符...

    PHP 常用的正则表达式例子

    - 正则表达式的构成元素:字符类(如\d表示数字,\w表示字母或数字),量词(如*表示零或多个,+表示一个或多个,?表示零个或一个),边界匹配符(^表示行首,$表示行尾),分组(()用于捕获子模式)。 - PHP中的...

    一个很小的正则表达式测试软件

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在IT行业中,掌握正则表达式是提高工作效率的关键技能之一。微软推出的这款“正则...

    PHP用正则表达式过滤超链接

    ### PHP使用正则表达式过滤超链接 在Web开发中,经常需要处理HTML文本,比如提取其中的超链接。PHP提供了强大的字符串处理功能,利用正则...此外,对于正则表达式的深入学习,还有助于解决更多字符串处理方面的问题。

    常用正则表达式PDF

    在实际开发过程中,正则表达式被广泛应用于字符串处理、表单验证等多个方面。 #### 二、正则表达式常见应用案例解析 根据提供的文档内容,我们可以深入探讨以下几类正则表达式的应用案例: ##### 1. 匹配中文字符 ...

    oracle正则表达式

    PDF文件"Oracle正则表达式函数介绍.pdf"很可能详细介绍了这些函数的使用方法、模式语法和实例,而"Oracle_正则表达式.txt"可能包含了更多示例或使用技巧。对于学习和理解Oracle正则表达式,这两个文件都是宝贵的资源...

    常用正则表达式,很常用到验证的时候

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在编程语言中,正则表达式是一种强大的工具,可以用来检查一个字符串是否符合某种预定...

    常用正则表达式******

    ### 常用正则表达式详解 #### 匹配中文字符 - **正则表达式**: `[\u4e00-\u9fa5]` ...正则表达式是进行文本处理和数据分析的强大工具,通过合理的构造和应用,可以在很多场景下提升效率和准确性。

    常用正则表达式验证方法.zip

    正则表达式(Regular Expression)是一种强大的文本处理工具,它能用来进行字符串匹配、查找、替换等操作。在IT行业中,正则表达式是程序员、Web开发者和数据分析师的必备技能之一,尤其在数据验证、输入校验和文本...

    java 正则表达式 perl5规范 jakarta-oro.jar

    通过学习和熟练掌握Java正则表达式及其Perl 5规范,开发者可以在处理字符串和文本数据时大大提高效率和代码的灵活性。Jakarta ORO库的使用可以进一步优化这些操作,尤其在处理复杂或性能敏感的项目中。

Global site tag (gtag.js) - Google Analytics