A. 在js中正則表達式如何判斷用戶輸入的內容只能是數字和字母
驗證函數代碼如下:
functioncheck(str){return/^[da-z]+$/i.test(str);}代碼中關鍵字元含義:
1、^表示匹配字元串的首字元。
2、$表示匹配字元串的尾字元。
3、d表示匹配數字。
4、a-z表示匹配任意英文字母。
5、[]是集合的意思,表示一個字元是[]中任意一個。
6、+表示匹配1個或1個以上,[]+表示匹配[]中的1個以上字元。
7、表達式後面的i表示忽略大小寫。
8、test函數用於驗證字元串是否滿足正則表達式,如果滿足該正則表達式返回true,否則返回false。
(1)js搜索匹配關鍵字擴展閱讀:
正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。
許多程序設計語言都支持利用正則表達式進行字元串操作。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟體(例如sed和grep)普及開的。正則表達式通常縮寫成「regex」,單數有regexp、regex,復數有regexps、regexes、regexen。
B. 怎麼實現js判斷搜索引擎搜索關鍵詞是否包含某關鍵字
var ss = '你好來,早上好,晚安';//對比源字元串
var s = '好';//可能包含的關鍵字
var is = '';
if(ss.indexOf(s)==-1){
is = '不包含';
}else{
is = '包含';
}
//下面改改
$('.announcement').parent().append('<p>"'+ss+'" '+is+' "'+s+'"</p>');
C. nodejs 怎麼替換文本內容
let regExp = new RegExp(替換的內容, 'g');//正則表達式方法,完全匹配對應的關鍵字,且聲明全局
全部文本= 全部文本.replace(regExp, 替換的內容);
D. jsp如何實現模糊查詢
補充:
lz是否指在一個文本框中輸入多個關鍵字?如果是的話,用分隔符(一般是逗號)把這幾個關鍵詞分解出來:
conditions.split(" ");
然後把每個關鍵詞都拼接到查詢語句中去就行了。最後拼接的過程如:
where columnname like "'%" + condition[0] +"%'" and columnname like "'%" + condition[1] +"%'"
===================
如果lz是使用資料庫,那麼查詢時,使用 where columnname like "'%" + condition +"%'"就可以了,%是通配符
E. JS正則表達式
首先,你沒說你懂那些,全講又太多,所以說那些一看上去就懵逼的地方,我將解析寫在了最後。
因為你問到漢字,我猜你可能不了解 u4E00-u9FA5uF900-uFA2D 是怎麼回事,前面的小 u 代表他們是 Unicode,而後面的區間其實是 Unicode 編碼中各個漢字的編碼范圍,u4E00。
Unicode 編碼上規定了基礎的漢字是從u4E00到 u9FA5,每一個編碼代表一個字:
最後注意下 {n,m} 跟 {n} 的效果是不一樣的,{n,m} 是 n ~ m 都匹配,而且默認會匹配最大的的數量(貪婪),而{n} 則是指前面的匹配正好發生了 n 次時才被匹配,那麼在後面加上代表最後位置的 $ 符號時,/[...]{n}$ /其實就是指最後一個字元如果符合 [...] 發生 n 次的情況就匹配。
正則不難但是內容挺多的細節也不少,如果在加上 ig 之類的關鍵字,效果又是不同,到網上自己去搜索比較好。
F. 如何用 Node.js 和 Elasticsearch 構建搜索引擎
安裝 Elasticsearch
Elasticsearch 受Apache 2許可證保護,可以被下載,使用,免費修改。安裝Elasticsearch 之前你需要先確保在你的電腦上安裝了java Runtime Environment (JRE) ,Elasticsearch 是使用java實現的並且依賴java庫運行。你可以使用下面的命令行來檢測你是否安裝了java
推薦使用java最新的穩定版本(寫這篇文章的時候是1.8)。你可以在找到在你系統上安裝java的指導手冊。
接下來是下載最新版本的Elasticsearch (寫這篇文章的時候是2.3.5),去下載ZIP 文件。Elasticsearch 不需要安裝,一個zip文件就包含了可在所有支持的系統上運行的文件。解壓下載的文件,就完成了。有幾種其他的方式運行Elasticsearch ,比如:獲得TAR 文件或者為不同Linux發行版本的包。
如果你使用的是Mac操作系統並且安裝了,你就可以使用這行命令安裝Elasticsearch brew install elasticsearch.Homebrew 會自動添加executables 到你的系統並且安裝所需的服務。它也可以使用一行命令幫你更新應用:brew upgrade elasticsearch.
想在Windows上運行Elasticsearch ,可以在解壓的文件夾里,通過命令行運行binelasticsearch.bat 。對於其他系統,可以從終端運行 ./bin/elasticsearch.這時候,Elasticsearch 就應該可以在你的系統上運行了。
就像我之前提到的,你可以使用Elasticsearch的幾乎所有的操作,都可以通過RESTful APIs完成。Elasticsearch 默認使用9200 埠。為了確保你正確的運行了Elasticsearch。在你的瀏覽器中打開http://localhost:9200/ ,將會顯示一些關於你運行的實例的基本信息。
圖形用戶界面
Elasticsearch不須圖形用戶界面,只通過REST APIs就提供了幾乎所有的功能。然而如果我不介紹怎麼通過APIs和 Node.js執行所有所需的操作,你可以通過幾個提供了索引和數據的可視化信息GUI工具來完成,這些工具甚至含有一些高水平的分析。
, 是同一家公司開發的工具, 它提供了數據的實時概要,並提供了一些可視化定製和分析選項。Kibana 是免費的。
還有一些是社區開發的工具,如,, 甚至谷歌瀏覽器的擴展組件.這些工具可以幫你在瀏覽器中查看你的索引和數據,甚至可以試運行不同的搜索和匯總查詢。所有這些工具提供了安裝和使用的攻略。
創建一個Node.js環境
彈性搜索為Node.js提供一個官方模塊,稱為elasticsearch。首先,你需要添加模塊到你的工程目錄下,並且保存依賴以備以後使用。
然後,你可以在腳本里導入模塊,如下所示:
最終,你需要創建客戶端來處理與彈性搜索的通訊。在這種情況下,我假設你正在運行彈性搜索的本地機器IP地址是127.0.0.1,埠是9200(默認設置)。
注意:這篇導讀的所有源代碼都可以在GitHub下載查看。最簡單的查看方式是在你的PC機上克隆倉庫,並且從那裡運行示例代碼:
獲取短語推薦的時候,採用與上文相同的格式並替換推薦器的類型欄位即可。如下的例子中,返回數據將與上例格式相同。
G. JS怎麼實現站內搜索功能
一:對文章關鍵字的搜索(數組的方法):
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8"/>
<title></title>
<styletype="text/css">
#search{
height:40px;width:200px;font-size:30px;text-align:center;
}
#div{
font-size:20px;width:600px;
}
#divspan{
color:red;
}
</style>
</head>
<body>
<inputtype="text"name="search"id="search"value="饞"onclick="this.value=''"/>
<inputtype="button"name=""id="bbtn"value="搜索"/>
<divid="div">
<p>饞,在英文里找不到一個十分適當的字。羅馬暴君尼祿,以至於英國的亨利八世,在大宴群臣的時候,常見其撕下一根根又粗又壯的雞腿,舉起來大嚼,旁若無人,好一副饕餮相!但那不是饞。埃及廢王法魯克,據說每天早餐一口氣吃二十個荷包蛋,也不是饞,只是放肆,只是沒有吃相。對有某一種食物有所偏好,於是大量的吃,這是貪多無厭。饞,則著重在食物的質,最需要滿足的是品味。上天生人,在他嘴裡安放一條舌,舌上還有無數的味蕾,教人焉得不饞?饞,基於生理的要求;也可以發展成為近於藝術的趣味。
也許我們中國人特別饞一些。饞字從食,有聲。毚音讒,本義是狡兔,善於奔走,人為了口腹之慾,不惜多方奔走以膏饞吻,所謂「為了一張嘴,跑斷兩條腿」。</p>
</div>
<scripttype="text/javascript">
varbbtn=document.getElementById('bbtn');
varsearch=document.getElementById('search');
vartext=document.getElementsByTagName('p')[0];
vartext1=text.innerHTML;
vararr=[];
varstr=text1;
bbtn.onclick=function(){
str=text1
arr=search.value;
str=str.split(arr).join('<span>'+arr+'</span>');
text.innerHTML=str;
}
</script>
</body>
</html>
二:對li表單的搜索:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title></title>
<styletype="text/css">
*{
padding:0;margin:0;
}
#content{
margin:100px300px;display:block;
}
input{
height:50px;width:400px;font-size:30px;line-height:50px;
}
ul{
}
li{
margin:10px0px;display:block;
}
</style>
</head>
<body>
<divid="content">
<ul>
<inputtype=""name=""id=""value=""placeholder="請輸入城市的名稱或拼音"/>
<lipname="北京"cname="bj">北京</li>
<lipname="株洲"cname="zz">株洲</li>
<lipname="上海"cname="sh">上海</li>
<lipname="長沙"cname="cs">長沙</li>
<lipname="杭州"cname="hz">杭州</li>
<lipname="天津"cname="tj">天津</li>
<lipname="西安"cname="xa">西安</li>
<lipname="成都"cname="cd">成都</li>
<lipname="武漢"cname="wh">武漢</li>
<lipname="南京"cname="nj">南京</li>
</ul>
</div>
<scripttype="text/javascript">
varli=document.getElementsByTagName('li');
vartext=document.getElementsByTagName('input')[0];
functionsearch(){
vararr=text.value;
for(vari=0;i<li.length;i++)
{
li[i].style.display="none";
if(li[i].getAttribute('pname').indexOf(arr)!=-1||li[i].getAttribute('cname').indexOf(arr)!=-1)
{
li[i].style.display="block";
}
}
}
text.oninput=function(){
search();
}
</script>
</body>
</html>