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.不能把关键字、保留字、true、false和null作为标识符。
例如: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过滤关键词不区分大小写字母的问题的主要内容,如果未能解决你的问题,请参考以下文章