欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

字符javascript,字符符號

如何用JavaScript操作字符串

操作字符串的值是一般的開發(fā)人員必須面臨的家常便飯。操作字符串的具體方式有很多,比如說從一個字符串是提取出一部分內(nèi)容來,或者確定一個字符串是否包含一個特定的字符。下面的 JavaScript 函數(shù)為開發(fā)人員提供了他們所需要的所有功能:

創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網(wǎng)定制,成都做網(wǎng)站、網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。

? concat() – 將兩個或多個字符的文本組合起來,返回一個新的字符串。

? indexOf() – 返回字符串中一個子串第一處出現(xiàn)的索引。如果沒有匹配項,返回 -1 。

? charAT() – 返回指定位置的字符。

? lastIndexOf() – 返回字符串中一個子串最后一處出現(xiàn)的索引,如果沒有匹配項,返回 -1 。

? match() – 檢查一個字符串是否匹配一個正則表達(dá)式。

? substring() – 返回字符串的一個子串。傳入?yún)?shù)是起始位置和結(jié)束位置。

? replace() – 用來查找匹配一個正則表達(dá)式的字符串,然后使用新字符串代替匹配的字符串。

? search() – 執(zhí)行一個正則表達(dá)式匹配查找。如果查找成功,返回字符串中匹配的索引值。否則返回 -1 。

? slice() – 提取字符串的一部分,并返回一個新字符串。

? split() – 通過將字符串劃分成子串,將一個字符串做成一個字符串?dāng)?shù)組。

? length() – 返回字符串的長度,所謂字符串的長度是指其包含的字符的個數(shù)。

? toLowerCase() – 將整個字符串轉(zhuǎn)成小寫字母。

? toUpperCase() – 將整個字符串轉(zhuǎn)成大寫字母。

注意: concat 、 match 、 replace 和 search 函數(shù)是在 JavaScript 1.2 中加入的。所有其它函數(shù)在 JavaScript 1.0 就已經(jīng)提供了。

下面讓我們看一下如何在 JavaScript 使用這些函數(shù)。下面的代碼是用到了前面提到的所有函數(shù):

function manipulateString(passedString1, passedString2) {

var concatString;

// The string passed to concat is added to the end of the first string

concatString = passedString1.concat(passedString2);

alert(concatString);

// The following if statement will be true since first word is Tony

if (concatString.charAt(3) == "y") {

alert("Character found!");

}

// The last position of the letter n is 10

alert("The last index of n is: " + concatString.lastIndexOf("n"));

// A regular expression is used to locate and replace the substring

var newString = concatString.replace(/Tony/gi,"General");

// The following yields Please salute General Patton

alert("Please salute " + newString);

// The match function returns an array containing all matches found

matchArray = concatString.match(/Tony/gi);

for (var i=0; imatchArray.length;i++) {

alert("Match found: " + matchArray[i]);

}

// Determine if the regular expression is found, a –1 indicates no

if (newString.search(/Tony/) == -1) {

alert("String not found");

} else {

alert("String found.");

}

// Extract a portion of the string and store it in a new variable

var sliceString = newString.slice(newString.indexOf("l")+2,newString.length);

alert(sliceString);

// The split function creates a new array containing each value separated by a space

stringArray = concatString.split(" ");

for (var i=0; istringArray.length;i++) {

alert(stringArray[i];

}

alert(newString.toUpperCase());

alert(newString.toLowerCase());

}

下面是執(zhí)行上面的代碼得到的結(jié)果:

Tony Patton

Character Found!

The last index of n is: 10

Match found: Tony

Please salute General Patton

String not found

Patton

Tony

Patton

GENERAL PATTON

general patton

示例代碼把所有這些提到的函數(shù)都用到了。

特殊字符

除了這些函數(shù)之外,還有很多的特殊字符可以用來表示關(guān)鍵的效果。這些特殊字符包括:

? – 跳格鍵

? – 退格 / 刪除

? – 回車

? – 換行

? f – 換頁

特殊字符最常見的用途就是格式化輸出。例如,你可能需要在輸出中插入一個換行來正確地顯示一個值。而且,在換行時也需要回車。在一些平臺上,“ ”已經(jīng)足夠產(chǎn)生換行效果了,而在一些機(jī)器上要正確地顯示一個換行則需要“ ”。下面的例子顯示了在一個多行窗口上顯示的特殊字符:

var output = null;

output = "Special Characters";

output += " ";

output += "===============";

output += " ";

output += "t - tab";

output += " ";

output += "b - backspace/delete";

output += " ";

output += "r - carriage return";

output += " ";

output += "n - newline";

output += " ";

output += "f - form feed";

output += " ";

alert(output);

前面的例子使用加號來連接字符串,而沒有使用 concat 函數(shù)。原因很簡單,對于 concat 函數(shù)來說,每一個操作都需要一個新的變量;反之,我們這里用的這種方法則簡單地擴(kuò)展了原有的值,而不需要新的變量。而且,示例中使用換碼符來正確地顯示特殊字符。系統(tǒng)將一個反斜線當(dāng)作一個信號,認(rèn)為它后面會跟一個特殊字符,但是連著兩個反斜線則抵消這種操作。輸出中的每個字符都通過 newline 特殊字符被顯示在新的一行。

添加到工具箱中

特殊字符和函數(shù)可以與其它 JavaScript 技巧結(jié)合起來解決很多問題。其中一種情況是用來進(jìn)行 JavaScript 客戶端表單驗證,這篇文章中提出的方法可以簡單地用來實現(xiàn)表單驗證。

下面的代碼將在一個表單被提交時調(diào)用。要提交的表單包含三個域:名稱、地址和郵政編碼。為了實現(xiàn)起來比較簡單,我們只驗證每個域都不能為空,并且郵政編碼必須是數(shù)字。下面的 JavaScript 代碼完成這一功能:

function validation() {

var doc = document.forms[0];

var msg = "";

if (doc.Name.value == "") {

msg += "- Name is missing ";

}

if (doc.Address.value == "") {

msg += "- Address is missing ";

}

if (doc.ZipCode.value == "") {

msg += "- Zip code is missing ";

}

var zip = new String(doc.ZipCode.value);

if (zip.search(/^[0-9][0-9][0-9][0-9][0-9]$/)==-1) {

msg += "- Enter valid Zip code";

}

if (msg == "") {

doc.submit;

} else {

msg = "Please correct the following validation errors and re-submit: " + msg;

alert(msg);

}

}

在用戶提交表單時,這個函數(shù)就會被調(diào)用。對函數(shù)的調(diào)用是在一個 HTML 按鈕的 onSubmit 事件中實現(xiàn)的。

input type="button" type="submit" value="submit" onClick="validation()"

驗證函數(shù)檢查每個域是否為空。如果發(fā)現(xiàn)了一個空值,那么就會在驗證消息變量 msg 后面添加一個出錯消息。此外,還使用了一個正則表達(dá)式來驗證郵政編碼域的格式。在這里,我們只接受五位數(shù)的美國地區(qū)郵政編碼。如果發(fā)現(xiàn)有任何錯誤(即 msg 變量不為空),那么程序就會顯示一個錯誤消息;否則的話,程序就會提交表單。

一門強(qiáng)大的語言

JavaScript 已經(jīng)發(fā)展成熟為一種功能完備的語言,能夠用來構(gòu)建強(qiáng)大的應(yīng)用程序。它是對具有非連接性天性的 Web 界面的一個完美的補(bǔ)充,能夠在不與 Web 服務(wù)器交互的情況下完成很多客戶端操作。

關(guān)于JS中字符串的編碼

Unicode 作為字符編碼的標(biāo)準(zhǔn),它用 碼位 (code point)來索引某個字符(全球統(tǒng)一標(biāo)識符), 字符編碼 用來標(biāo)識碼位,一個字符編碼視為一個 編碼單元 。在 JavaScript 里,字符串基于16位的字符編碼(UTF-16,Unicode 的其中一種)來構(gòu)建一個編碼單元(以十或十六進(jìn)制表示)。

前65535個字符編碼稱之為 基本多文種平面字符 (BMP, Basic multilingual plane ),一個編碼標(biāo)識一個碼位;當(dāng)超出 BMP 的范圍時就會用兩個編碼(代理對)來標(biāo)識一個碼位,稱之為 輔助平面字符 。大部分字符都處在 BMP 范圍內(nèi),另有一部分字符處在輔助平面內(nèi),這導(dǎo)致一些問題,比如“????”這個漢字:

由于 String.length 是用編碼單元的數(shù)量來計算長度,所以當(dāng)遇到如“????”這樣有兩個編碼單元的冷僻字時,字符個數(shù)的計算就會出現(xiàn)偏差。在 ES6 標(biāo)準(zhǔn)中,正則表達(dá)式的修飾符 /u 會將字符匹配模式從編碼單元模式切換到字符模式,于是可以利用正則匹配來計算字符個數(shù):

需要注意的是當(dāng) .match() 方法沒有匹配到內(nèi)容時,會返回 null,并且這種方法處理長字符串的開銷較大。

.charCodeAt() 和 .codePointAt() 方法都會獲得字符編碼的十進(jìn)制值,不同的是 .codePointAt() 方法可以獲得以 代理對 來標(biāo)識的碼位十進(jìn)制值,也是最終指向該字符的完整字符編碼的十進(jìn)制值。

Unicode 序列有多種規(guī)則,在 ES6 中用 .normalize() 方法來統(tǒng)一字符串的序列(“NFC”、“NFD”、“NFKC”、“NFKD”),這影響到做諸如比較運算等操作的結(jié)果,比如下面這個排序操作:

REFS:

《深入理解ES6》2.字符串和正則表達(dá)式

Unicode等價性

JS字符串的操作方法

字符串的屬性:length =》 代表字符串長度

字符串中,字符的位置也是從0開始,依次遞增。

不會修改原字符串,會將拼接好的字符串以返回值的方式返回出來。

可以在字符串中查找指定的字符。

可以查到的的話返回值字符所在的位置。

查不到返回 -1。

如果要查找的字符在字符中存在多個,永遠(yuǎn)只找一個。

使用方法和 indexOf 一樣。

但是 indexOf 是從前往后查找,lastindexOf() 是從后往前查找。

有兩個參數(shù)。

第一個參數(shù),舊的字符。

第二個參數(shù),新的字符。

不會修改原數(shù)組。

會將替換好的數(shù)組以返回值的形式返回出來。

如果舊的字符在字符串中不止一個,則替換第一個。

不會改變原數(shù)組。

會將轉(zhuǎn)化好的數(shù)組以返回值的形式返回出來 。

如果括號中什么都不寫;則將整個字符串作為數(shù)組的一個元素轉(zhuǎn)化成數(shù)組。

如果括號中是空字符串,則將每個字符都作為一個數(shù)組的元素轉(zhuǎn)化成數(shù)組。

如果括號中寫字符,則將這個字符變成逗號(,),并以其隔開數(shù)組元素。

如果字符串中沒有這個字符,效果相當(dāng)于什么都不寫。

如果目標(biāo)字符在開頭或者結(jié)尾,則轉(zhuǎn)成數(shù)組后,生成一個空字符串的元素。

split 還有第二個參數(shù):

第二個參數(shù)代表轉(zhuǎn)成數(shù)組后,所保留的元素的數(shù)量。(從以轉(zhuǎn)化好的數(shù)組下標(biāo)為0的元素開始)

有兩個參數(shù)

第一個參數(shù):起始的位置

第二個參數(shù):截取的數(shù)量

不會改變原數(shù)組

會將截取到的字符串以返回值的形式返回出來

有兩個參數(shù)

第一個參數(shù):起始的位置(返回時包括位置所對應(yīng)的字符)

第二個參數(shù):結(jié)束的位置(返回時不包括位置所對應(yīng)的字符)

不會改變原數(shù)組

會將截取到的字符串以返回值的形式返回出來

不會改變原數(shù)組

會將轉(zhuǎn)換好的字符串以返回值的形式返回出來

不會改變原數(shù)組

會將轉(zhuǎn)換好的字符串以返回值的形式返回出來

各位大神在Javascript中 字符和字符串 有什么區(qū)別嗎?

字符就是單個字符,字符串就是多個字符的集合

(補(bǔ)充:字符型常量 和 字符串常量

字符常量是單引號引起的一個字符 如 'A' '$' 'a' '0'

字符串常量是雙引號引起的若干個字符 如 "hello" "12345" "he123" "a")

傻兔子~……^-^

js中字符串的常見方法

首先創(chuàng)建一個字符串,創(chuàng)建字符串的方法有兩種:

1.字面量:var str = "abc123efg456";

2.構(gòu)造函數(shù):var str = newString("abc123efg456");

其次,需要注意的是,javascript的字符串是不可變的,String類定義的方法都不可以改變字符串內(nèi)容。若是需要通過方法改變字符串的內(nèi)容,需要將返回值重新賦值給原來的字符串。如:str = str.toUpperCase();

下面,介紹比較常用的字符串的方法:

var str = "1abc123abc456abc";

功能:返回指定的字符串值在字符串中首次出現(xiàn)的位置。

參數(shù):s為要檢索的字符,必需;n為可選的字符參數(shù),規(guī)定字符串檢索的位置。

demo:

var index1 = str.indexOf("a");

var index2 =str.indexOf("a",8);

var index3 =str.indexOf("a",14);

console.log(index1); // 1

console.log(index2); // 13

console.log(index3); // -1? 從檢索的位置檢索不到字符,返回-1

功能:返回一個指定的字符串值最后出現(xiàn)的位置,在一個字符串中的指定位置從后向前搜索。

參數(shù):s為要檢索的字符,必需;n為可選的字符參數(shù),規(guī)定字符串檢索的位置。

demo:

var index1 =str.lastIndexOf("a");?

var index2 =str.lastIndexOf("a",11);

var index3 =str.lastIndexOf("a",0);

console.log(index1); // 13

console.log(index2); // 7

console.log(index3); // -1? 從檢索的位置檢索不到字符,返回-1

功能:返回指定位置的字符。

參數(shù):n表示字符串中某個位置的索引,不寫默認(rèn)為第0個字符。

demo:

var s = str.charAt(3);

console.log(s);? // c

功能:返回指定位置的字符的Unicode編碼。

參數(shù):n表示字符串中某個位置的索引,可以沒有參數(shù),默認(rèn)是索引為0的參數(shù)。

demo:

var s = str.charCodeAt(3);

console.log(s);? // 99

注:c的unicode編碼為99。

注意:charAt(n)方法和charCodeAt(n)方法類似,前者返回的是字符,后者返回的是字符的unicode編碼。

功能:將編碼轉(zhuǎn)成字符方法。

參數(shù):十進(jìn)制和十六進(jìn)制,不支持unicode編碼。

demo:

var s1 =String.fromCharCode("0x56fd");

var s2 = String.fromCharCode(22269);

console.log(s1);?? //國

console.log(s2);? //國

注:“國”的十六進(jìn)制編碼是56fd,十進(jìn)制是22269。

功能:根據(jù)指定位置,截取子串,從m到n,不包括n。

參數(shù):m,n為索引。

demo:

var s = str.slice(2,7);

console.log(s); // bc123

功能:根據(jù)指定位置,截取子串,從m到n,不包括n。

參數(shù):m,n為索引。

demo:

var s = str.substring(2,7);

console.log(s); // bc123

功能:根據(jù)指定位置,截取子串,從m位置取,共取n個。

參數(shù):m,n為索引。

demo:

var s = str.substr(2,7);

console.log(s); // bc123ab

功能:字符串替換。

參數(shù):oldstr為需要被替換的字符,newstr為替換的字符。

demo:

var s =str.replace("a","l");

console.log(s); // 1lbc123abc456abc

注意:每次只能替換一個符合條件的字符。

功能:分割字符,返回成為數(shù)組。

參數(shù):"s"為分割的字符。

demo1:

var arr1 = str.split("b");

console.log(arr1);? // ["1a", "c123a","c456a", "c"]

demo2:

var arr2 = str.split(); //["1abc123abc456abc"]

console.log(arr2);

demo3:

var arr3 = str.split("");

console.log(arr3); // ["1","a", "b", "c", "1", "2","3", "a", "b", "c", "4","5", "6", "a", "b", "c"]

注意:參數(shù)不寫的時候,返回原字符串組成的數(shù)組;參數(shù)為空字符的時候,將每個字符分割,返回一個數(shù)組

功能:檢索字符串中指定的子字符串,返回第一個與字符串匹配的索引值。

參數(shù):需要被檢索的字符串。

demo:

var s1= str.search("abc");

var s2 = str.search("efg");

console.log(s1); // 1

console.log(s2); // -1

注:如果沒有找到任何匹配的子串,則返回-1。

功能:在字符串內(nèi)檢索指定的值,匹配到就返回指定的字符值。

參數(shù):需要被檢索的字符串。

demo:

var s1= str.match("abc");

var s2 = str.match("efg");

console.log(s1); // ["abc",index: 1, input: "1abc123abc456abc", groups: undefined]

console.log(s2); // null

注:該方法類似indexOf()和lastIndexOf(),但是它返回指定的值,沒有就返回null

功能:連接兩個或多個字符串,返回連接后的字符串。

參數(shù):需要連接的字符串。

demo:

var str1="abc ";

var str2="123";

console.log(str1.concat(str2));?? // "abc 123"

提示:如果需要拼接字符串,用運算符“+”更簡單。

功能:把字符串轉(zhuǎn)換為小寫。

參數(shù):無

demo:

var str = "ABC abc";

console.log(str.toLowerCase()); // abcabc

功能:把字符串轉(zhuǎn)換為大寫。

參數(shù):無

demo:

var str = "ABC abc";

console.log(str.toUpperCase()); // ABCABC

功能:把字符串顯示為大號字體。

參數(shù):無

demo:

var s = str.big();

document.write(str+"");

document.write(s);

功能:把字符串顯示為小號字。

參數(shù):無

demo:

var s = str.small();

document.write(str+"");

document.write(s);

功能:把字符串顯示為粗體。

參數(shù):無

demo:

var s = str.bold();

document.write(str+"");

document.write(s);

功能:把字符串顯示為斜體。

參數(shù):無

demo:

var s = str.italics();

document.write(str+"");

document.write(s);

功能:將字符以指定的顏色顯示。

參數(shù):顏色名(red)、RGB 值(rgb(255,0,0))或者十六進(jìn)制數(shù)(#FF0000)。

demo:

var s = str.fontcolor("red");

document.write(str+"");

document.write(s);

功能:將字符以指定的字號顯示。

參數(shù):size參數(shù)必須是從1和7之間的數(shù)字,1表示小的字號,7表示最大的字號。

demo:

var s = str.fontsize(7);

document.write(str+"");

document.write(s);

功能:把字符串顯示為超鏈接。

參數(shù):鏈接的URL。

demo:

var s =str.link("");

document.write(str+"");

document.write(s);

功能:把字符串加字符串顯示。

參數(shù):無

demo:

var s = str.strike();

document.write(str+"");

document.write(s);

以上是對字符串方法的整理,如有修改、補(bǔ)充,后續(xù)會更新。

文中如果紕漏,錯誤,不合理,描述不清晰,不準(zhǔn)確等問題,歡迎大家留言指正...

當(dāng)前名稱:字符javascript,字符符號
URL分享:http://chinadenli.net/article49/dsioheh.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)移動網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作商城網(wǎng)站面包屑導(dǎo)航軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)