Javascript String類的屬性及方法

来源:http://www.cnblogs.com/pxuan/archive/2017/04/28/6780712.html
-Advertisement-
Play Games

String 類 Attribute and methodanchor() 創建一個<a>標簽的實例,將其name屬性設置為被傳遞給此方法的字元串big() 將字元串轉換為<big>標簽的一個實例blink() 將字元串轉換為<blink>標簽的一個實例bold() 將字元串轉換為<bold>標簽的 ...


String 類 Attribute and method
anchor()              創建一個<a>標簽的實例,將其name屬性設置為被傳遞給此方法的字元串
big()                     將字元串轉換為<big>標簽的一個實例
blink()                   將字元串轉換為<blink>標簽的一個實例
bold()                   將字元串轉換為<bold>標簽的一個實例
charAt()               返回傳遞給此方法的索引處的字元
concat()               連接被傳遞的兩個字元串返回一個新字元串。
fixed()                  將字元轉換<tt> 固定的pitch字體標簽的一個實例
fontcolor()            設置一個<font>標簽實例的color屬性
fontsize()             設置一個<font>標簽實例的size屬性
fromCharCode()   返回被傳遞給此方的ISO-Latin-1數字字元
indexOf()              返回被傳遞給此方法的字元串在一個sting對象的實例中第一次出現的索引
italics()                  將字元串轉換為<i>標簽的一個實例
lastIndexOf()         返回被傳遞給此方法的字元串在一個sting對象的實例中最後一次出現處的索引
link()                      將字元串轉換為<a>標簽的一個實例並且用被傳遞給此方法的URL設置的herf屬性
match()                 返回一個數組,此數組包含革於被傳遞給此方法的規則表達式而找到的匹配。
replace()               用被傳遞給此方法的規則表達式和替換字元串對調,用它的strin實例執行一個查找和替換。
search()               返回被傳遞給此方法的字元串中找到的匹配的索引位置。如果沒有找到字元中距離,返回-1
Slice()                   返回被傳遞給此方法的開始和結束索引之間的字元串。如果傳遞一個負值,索引以被傳遞的字元串尾部作為參考。
Small()                  將字元串換為<small>標簽的一個實例
Split()     返回被分割為段的字元串,這個分割由被傳遞給此方法的字元串和實例限制定義
Strike()                  將字元串轉換為<strike>標簽的一個實例
Sub()     將字元串轉換為<sub>標簽的一個實例
Substr()                返回從被索引位置開始包含要返回的一定個數的字元的字元串。如果一個負值被傳遞,索引以被傳遞的字元串的尾部作為參考
substring()            返回被傳遞的開始和結束索引之間的字元
sup()                     將字元串轉換為<sup>標簽的一個實例
toLowerCase()     將字元串中的所有字元轉換為小寫
toSource()             返回被傳遞的字元作為string對象的字元串表示
toString()               將被傳遞的字元作為string類型返回
toUpperCase()      將字元串中的所有字元轉換為大寫
length()                 返回字元串的長度
prototype()           為程式提供一種向string對象實例添加屬性的能力

String 類的擴展:
String.prototype.ToCharArray=function(){
         return this.split("");
}
//倒序
String.prototype.Reverse = function(){
return this.split("").reverse().join("");
}
//是否包含指定字元
String.prototype.IsContains = function(str){
return (this.indexOf(str) > -1) ;
}
//判斷是否為空
String.prototype.IsEmpty=function(){
return this=="";
}
//判斷是否是數字
String.prototype.IsNumeric = function(){
var tmpFloat=parseFloat(this);
if(isNaN(tmpFloat)) return false;
var tmpLen=this.length-tmpFloat.toString().length;
return tmpFloat+"0".GetSame(tmpLen)==this;
}
//判斷是否是整數
String.prototype.IsInt = function(){
if(this == "NaN") return false;
return this == parseInt(this).toString();
}
//合併多個空白為一個空白
String.prototype.resetBlank = function(){
return this.replace(/s+/g,"");
}
//除去左邊空白
String.prototype.LTrim = function(){
return this.replace(/^s+/g,"");
}
//除去右邊空白
String.prototype.RTrim = function(){
return this.replace(/s+$/g,"");
}
//除去兩邊空白
String.prototype.trim = function(){
return this.replace(/(^s+)|(s+$)/g,"");
}
//保留數字
String.prototype.getNum = function(){
    return this.replace(/[^d]/g,"");
}
// 保留字母
String.prototype.getEn = function(){
    return this.replace(/[^A-Za-z]/g,"");
}
// 保留中文
String.prototype.getCn = function(){
    return this.replace(/[^u4e00-u9fa5uf900-ufa2d]/g,"");
}
//獲取位元組長度
String.prototype.ByteLength=function()
{
return this.replace(/[^\x00-\xff]/g,"aa").length;
}
// 從左截取指定長度的字串
String.prototype.left = function(n){
    return this.slice(0,n);
}
// 從右截取指定長度的字串
String.prototype.right = function(n){
    return this.slice(this.length-n);
}
// HTML編碼
String.prototype.HTMLEncode = function(){
    var re = this;
    var q1 = [/x26/g,/x3C/g,/x3E/g,/x20/g];
    var q2 = ["&","<",">"," "];
    for(var i=0;i<q1.length;i++)
    re = re.replace(q1[i],q2[i]);
    return re;
}
//獲取Unicode
String.prototype.Unicode = function(){
var tmpArr=[];
for (var i=0; i<this.length; i++) tmpArr.push("&#" + this.charCodeAt(i) + ";");
return tmpArr.join("");
}
//指定位置插入字元串
String.prototype.Insert=function(index,str){
return this.substring(0,index)+str+this.substr(index);
}
//複製字元串
String.prototype.Copy=function(){
if(IE) window.clipboardData.setData("text",this.toString());
}
//追加格式化後的字元串
String.prototype.AppendFormat=function(str){
var arg=arguments;
str=str.replace(/\{(\d+)\}/g,function(a,b,c)
{
   if(arg[parseInt(b)+1]) return arg[parseInt(b)+1];
   else return a;
});
return this+str;
}


創建一個String 對象,語法:new String(stringValue),這個調用會將參數轉換為字元串,並作為一個String 對象。事實上任何一個字元串常量都是一個String對象,可以將其直接作為對象來使用,這和使用new String()創建對象的區別是:typeof的返回值不同,一個是“stirng",另一個是"object".

string.indexOf(searchString,position)----從position(可選)位置開始,搜索字元串中的第一個searchSting所出現的位置並返回。例如:"hello,jack".indexOf("hello")將返回0;
"abcabc".indexOf("a",1)將返回3;

string.lastIndexOf(searchString,position)--------從position(可選)位置開始,搜索字元串中的最後一個searchString所出現的位置並返回。如:"abcabc".lastIndexOf("b")將返回4

string.charAt(pos)-------返回字元串中位置為pos的字元。例如:"abc".charAt(1)返回"b"

stirng.charCodeAt(pos)------返回字元串中位置為pos的字元代碼。對於ASCII 字元,這將返回其ASCII代碼。例如:"abc".charCodeAt(0)返回97,表示字元"a"的ASCII碼。

string.slice(start,end)--------返回字元串中起始位置為start,結束位置為end(不包括end)的子字元串

string.split(separator,linmit)------將字元串以separator作為分割符切割成多個子字元串,並將他們作為一個數組返回。linmit(可選)表示數組的最大長度,超過的部分將被捨棄。separator分隔符不被包含在任何子字元串中,如果sepatator為空字元串,則返回字元串中的字元序列組成的數組。如果split方法沒有任何參數,則返回僅包含字元串本身,僅有一個元素的數組。

string.split(separator,linmit)-------例如:"a1,b1,c1".split(",")將返回["a1","b1","c1"];

"a,b,c".split(",",2)將返回["a","b"];

"a,b,c".split("")將返回["a",",","b",",","c"];

"ab,c".split()將返回["ab,c"]
string.substr(start,length)--------返回字元串中起始位置為start,長度為length的子字元串。例如:"abcdefg".substr(1,3)將返回"bcd";

string.substring(start,end)------返回字元串中起始位置為start,結束位置為end(包括end)的子字元串。這個方法和slice方法唯一不同體現在是否包含了end位置的字元。


替換和匹配字元串


(1)replace(searchValue,replaceValue)方法
             該方法將字元串中第一個出現的searchValue子字元串替換為replaceValue,並返回新的字元串。原有的字元串不受影響。

例如:var str1="aaaa";

var str2=str1.replace("a","b");

alert(str2);//輸出"baaa"
alert(str1);//輸出"aaaa"

上面代碼中可以看出,使用replace函數僅能替換一個實例。如果要替換多個實例,則需要使用正則表達式,例如str.replace(/a/g,"b")能夠將"aaaa"替換為"bbbb".

(2)match(reExp)方法

從字元串中搜索出匹配regExp正則表達式的所有子字元串,將他們作為一個數組返回。利用對象類型到布爾類型的轉換規則,還可以判斷一個字元串是否匹配regExp表示的正則表達式。

例如:var strInput=prompt("請輸入一個數字:",0);

while(!strInput.match(/\d+/)){
          strInput=prompt("請輸入一個數字:",0);
}

(3)search(regExp)方法

從字元串中搜索出匹配regExp正則表達式的第一個子字元串,返回其索引位置。例如:var str="aabcabcabc";

alert(str.search(/abc/g));//顯示“1”

(4)String 對象的大小寫轉換

var str="abc";

str.toLowerCase()//轉化小寫

str.toUpperCase()//轉化大寫

(5)String 對象的連接

var str="abc";

var str2=str.concact("def","ghi");

alert(str2);//將輸出"abcdefghi"


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、什麼是HTML語義化? “語義化”指的是在需要更少的人類干預的情況下,能夠研究和手機信息,讓網頁能夠被機器理解,最終讓人類受益。 語義化的目的就是讓大家直觀的認識標簽(markup)和屬性(attribute)的用途和作用。很明顯Hx系列看起來很像標題,因為擁有粗體和較大的字型大小。<strong> ...
  • 收錄待用,修改轉載已取得 "騰訊雲" 授權 作者 | 殷源 編輯 | 迷鹿 殷源,專註移動客戶端開發,微軟Imagine Cup中國區特等獎獲得者,現就職於騰訊。 JavaScript越來越多地出現在我們客戶端開發的視野中,從ReactNative到JSpatch,JavaScript與客戶端相結合 ...
  • Bootstrap是HTML、CSS 和 JS 框架,用於開發響應式佈局、移動設備優先的 WEB 項目。 可以自動適配任何設備,解決了響應式實現的繁瑣問題,可以修改其中的各種樣式,同樣,其內部功能的強大包含了整個HTML,CSS,JS的各個方面。 通過Bootstrap製作的網站,極大地節省了代碼, ...
  • 函數是JavaScript 中最有趣的部分之一。它們本質上是十分簡單和過程化的,但也可以是非常複雜和動態的。一些額外的功能可以通過使用閉包來實現。此外,由於所有的函數都是對象,所以使用函數指針非常簡單。這些令JavaScript 函數不僅有趣而且強大。以下幾節描繪了幾種在JavaScript 中使用 ...
  • 看了下,距離上次發帖都是去年10月份的事,忙於工作的我很少跑博客園裡面來玩了。 做這個小網站的初衷是 https://tinypng.com/ 這個網站有時候訪問很慢,然後自己去研究了下圖片壓縮。 網上有看到 https://tinypng.com/ 中使用的 pngquant , 我去下載了png ...
  • NodeJs版本:4.4.4 fs 文件系統模塊是一個封裝了標準的 POSIX 文件 I/O 操作的集合。Node.js 文件系統(fs 模塊)模塊中的方法均有非同步和同步版本。 圖片的複製與粘貼 創建一個可讀流與一個寫入流。通過管道 。 讀文件(fs.readFile) 定義:fs.readFile ...
  • 任務四:定位和居中問題 任務目標 實踐HTML/CSS佈局方式 深入瞭解position等CSS屬性 任務描述 實現如 示例圖(點擊打開) 的效果 灰色元素水平垂直居中,有兩個四分之一圓位於其左上角和右下角。 任務註意事項 思考不同情況下(如灰色高度是根據內容動態變化的)水平垂直居中的解決方案。 動 ...
  • 前段時間遇到一個問題,前端想實現圖片上傳預覽(不經過後端PHP或JAVA處理),用戶點擊file按鈕上傳文件,點擊確定馬上就能看到預覽的效果,但在實現的時候無論怎樣都取不到file上圖片的真實路徑,得到的反而是C:\fakepath\a.jpg,這個路徑是錯誤的。百度之後得到說瀏覽器基於保護用戶的相 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...