javascript过滤关键词不区分大小写字母的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript过滤关键词不区分大小写字母的问题相关的知识,希望对你有一定的参考价值。

以下是我的网页代码 out为要查找的字符 add为要替换成的字符 如何在out中只加入小写字母 就能在输入如:DALAI 就能自动替换成:DA。LAI ?
var out="dalai|falun|xxx";
var add="da。lai|fa。lun|yyy";

var outarr=out.split('|');
var addarr=add.split('|');
for(i=0;i<outarr.length;i++)

if(temp.indexOf(outarr[i])>-1)

pos= temp.indexOf(outarr[i]);
temp = "" + (temp.substring(0, pos) + addarr[i]+
temp.substring((pos + outarr[i].length), temp.length));




这好像是个变通的方法 但我要过滤几千个关键词!

/*
* 通用过滤函数,参数str为需要处理的字符串,ref为参照规则
*/
function filter(str,ref)
for(var i=0;i<ref.length;i++)
str=str.replace(new RegExp(ref[i][0],"gi"),ref[i][1]);

return str;

/*使用方法*/
var temp="dadfa DALeweceqrcqfgdgdagaf";
temp=filter(temp,[["dalai","da。lai"],["falun","fa。lun"],["xxx","yyy"]]);

/*使用示例,将下面代码保存为网页*/
<!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=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function $(id)return document.getElementById(id);
/*
* 通用过滤函数,参数str为需要处理的字符串,ref为参照规则
*/
function filter(str,ref)
for(var i=0;i<ref.length;i++)
str=str.replace(new RegExp(ref[i][0],"gi"),ref[i][1]);

return str;

function html_f()
var ref = new Array();
ref.push(["html","HTML文档"]);
ref.push(["head","头部"]);
ref.push(["meta","媒体"]);
ref.push(["title","标题"]);
ref.push(["link","链接"]);
ref.push(["script","脚本"]);
ref.push(["body","身体"]);
$("output").innerText=filter($("input").innerText,ref);

</script>
</head>

<body>
<textarea id="input" style="width:400px;height:500px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript过滤关键词不区分大小写字母的问题_百度知道 </title>

<link rel="alternate" type="application/rss+xml" title="“javascript过滤关键词不区分大小写字母的问题”的最新回答(RSS 2.0)" href="http://zhidao.baidu.com/q?ct=20&qid=144059871&pn=65535&rn=25&tn=rssqb">

<link href="/ikqb.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="/userlogin.js?213"></script>

</head>
<body></textarea>
<input type="button" value="过滤" onclick="html_f()"/>
<textarea id="output" style="width:400px;height:500px;"></textarea>
<br/>
</body>
</html>
参考技术A var str = "DALAI";
var temp;
temp = str.replace(new RegExp("DA","ig"),"LAI");

javascript语法变量关键保留字

一、javascript语法构成

1.区分大小写

ECMAScript中的一切,包括变量、函数名和操作符都是区分大小写的。例如:abc和ABC表示两种不同的变量。

2.标识符

所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。标识符可以是下列格式规则组合起来的一或多个字符:

  1.第一字符必须是一个字母、下划线(_)或一个美元符号($)

  2.其他字符可以是字母、下划线、美元符号或数字。

  3.不能把关键字、保留字、truefalsenull作为标识符。

  例如:laber、$123、_Laber

3.注释

ECMAScript使用C风格的注释,包括单行注释和块级注释。

// 单行注释

/*

* 这是一个多行

* 注释

*/

4.字面量

所有字面量,就是程序中直接显示出来的数据值。

888     //数字字面量
‘laber’        //字符串字面量
false        //布尔字面量
/js/gi       //正则表达式字面量
null     //对象字面量

二、javascript变量

ECMAScript的变量是松散类型的,所谓松散类型就是用来保存任何类型的数据。定义变量时要使用var操作符(var是关键),后面跟一个变量名(变量名是标识符)。

var laber;
console.log(laber)

这句话定义了laber变量,但没有对它进行初始化(也就是没有给变量赋值)。这时,系统会给它一个特殊的值 -- undefined(表示未定义)。

var laber = "莫小波";
console.logo(laber);

所谓变量,就是可以初始化后可以再次改变的量。ECMAScript属于弱类型(松散类型)的语言,可以同时改变不同类型的量。(PS:虽然可以改变不同类型的量,但这样做对于后期维护带来困难,而且性能也不高,导致成本很高!)

var laber = "莫小波";
laber = "皮皮";
console.log(laber);

重复的使用var声明一个变量,只不过是一个赋值操作,并不会报错。但这样的操作是比较二的,没有任何必要。

var laber = "莫小波"var laber = "皮皮";

还有一种变量不需要前面var关键字即可创建变量。这种变量和var的变量有一定的区别和作用范围。

当你想声明多个变量的时候,可以在一行或者多行操作。

而当你每条语句都在不同行的时候,你可以省略分号。(PS:这是ECMAScript支持的,但绝对是一个非常不好的编程习惯,切记不要)

可以使用一条语句定义多个变量,只要把每个变量(初始化或者不初始化均可)用逗号分隔开即可,为了可读性,每个变量,最好另起一行,并且第二变量和第一变量对齐.

var laber = "莫小波",
    age = 30,
    height =  180;

三、关键字和保留字

关键字一般用于控制语句的开始或结束,或者用于执行特定的操作等。关键字也是语言保留的,不能用作标识符。

ECMAScript全部关键字 

break

else

new

var

case

finally

return

void

catch

for

switch

while

continue

function

this

with

default

if

throw

 

delete

in

try

 

do

instanceof

typeof

 

全部保留字

abstract

enum

int

short

boolean

export

interface

static

byte

extends

long

super

char

final

native

synchronized

class

float

package

throws

const

goto

private

transient

debugger

implements

protected

volatile

double

import

public

 

 

以上是关于javascript过滤关键词不区分大小写字母的问题的主要内容,如果未能解决你的问题,请参考以下文章

javascript语法变量关键保留字

javaScript

JavaScript标识符与关键字和保留字

jquery 是不是区分大小写

SQL注入绕过总结

# javascript 总结