龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

javascript过滤域名及html标签实现代码

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
文章详细的利用几个实现介绍了在js中利用js正则表达式来过滤域名及正则域名以及过滤html标签的方法,有需要了解的同学可以参考一下。 分析 一个完整的域名,由根域、顶级域、二级
文章详细的利用几个实现介绍了在js中利用js正则表达式来过滤域名及正则域名以及过滤html标签的方法,有需要了解的同学可以参考一下。

分析

一个完整的域名,由根域、顶级域、二级、三级……域名构成,每级域名之间用点分开,每级域名由字母、数字和减号构成(第一个字母不能是减号),不区分大小写,长度不超过63。
  很显然,单独的名字可以由正则表达式[a-zA-Z0-9][-a-zA-Z0-9]{0,62}来匹配,而完整的域名至少包括两个名字(比如google.com,由google和com构成),最后可以有一个表示根域的点

匹配完整域名的正则表达式:

 代码如下
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?

我们最简单版的js正则过滤取域名

域名正则表达式js版

 代码如下
function doseo() {
if(!$('domain').value.match(/^([a-z0-9-]{1,}.)?[a-z0-9-]{2,}.([a-z0-9-]{1,}.)?[a-z0-9]{2,}$/i)){
alert('哈罗~~~首先,请输入正确的域名 :P ');
$('domain').value = '';
$('domain').focus();
return;
}

上面可以用来判断域名了,那么我要过滤域名怎么办,看实例


经这位朋友测试,他还是比较喜欢这种效果的(我个人还是比较喜欢先去掉空格再检测),应他要求把源码放出:

 代码如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>测试</title>
</head>
<body>
<script language="javascript">
function checkurl(obj){
    var pattern = /cs*os*m|cs*n|ns*es*t|os*rs*g/gi;
    if(pattern.test(obj.value)){
        alert("留言中有com|cn|net|org,有广告链接嫌疑,不能提交!");
        obj.value = "";
        obj.focus();
        return false;
    }
    else{
         //做你想做的事
    }
}
</script>
<textarea name="content" cols="60" rows="10" wrap="VIRTUAL" id="content"
       onBlur="javascript:checkurl(this);"></textarea>

</head>
</body>
</html>


网上找到js过滤html标题的代码如下:

 

 代码如下
function setContent(str) {
str = str.replace(/</?[^>]*>/g,''); //去除HTML tag
str.value = str.replace(/[ | ]*n/g,'n'); //去除行尾空白
//str = str.replace(/n[s| | ]*r/g,'n'); //去除多余空行
return str;
}


测试的时候发现这段代码不能过滤掉网页中空格字符(即:&nbsp;)。于是自己又改造了一下:

 代码如下
function removeHTMLTag(str) {
            str = str.replace(/</?[^>]*>/g,''); //去除HTML tag
            str = str.replace(/[ | ]*n/g,'n'); //去除行尾空白
            //str = str.replace(/n[s| | ]*r/g,'n'); //去除多余空行
            str=str.replace(/&nbsp;/ig,'');//去掉&nbsp;
            return str;
    }

恩,我的要求达到了。
这样我们的过滤域名,html标题及域名难都一搞定了。


精彩图集

赞助商链接