网页设计 程式语法 JavaScript JavaScript String 字串处理函数

JavaScriptString字串处理函数

JavaScript
String
METHODS

length字串长度

传回字串长度「计算几个字」空字串的length0JavaScript使用UTF-16编码用来表示大部分常见的字元,使用两个代码单元表示不常用的字元。因此length返回值可能与字串中实际的字元数量不相同。独角码一个字可能有两个或四个位元组。(但尚未找到)

stringObject.length;
var myStr = "myString"; stringObject.length; /* 8 */ var myStr = "基本字串"; stringObject.length; /* 4 */ var myStr = "《基本(符号)字串》"; stringObject.length; /* 10 */ var myStr = "基本的な文字列"; stringObject.length; /* 7 */
0

substr()提取字串中的几个字

取字串中的几个字JavaScript的起始位置是0。如果省略了length那么返回从stringObject的开始位置到结尾的字串。-1指字串中最后一个字元、-2指倒数第二个字元,以此类推。

stringObject.substr(start,length)
var myStr = "myString"; myStr.substr(2,3); /* Str */ myStr.substr(-3,3); /* ing */ myStr.substr(2); /* String */

substring()提取字串中两个指定索引号之间的字元

取字串中的几个字,起始位置是0从指定的位置start到指定「位置index」的字串。与slice() 和substr() 方法不同的是substring() 不接受负的参数小于0则为0。建议使用slice() 灵活些

stringObject.substring(start,index)
var myStr = "myString"; myStr.substring(2,5); /* Str */ myStr.substring(2,25); /* String (超出 length 只取到字串的结尾) */

JavaScriptsubstrsubstring的分别:
String.substr(start,length) :从指定的位置start截取 到 指定「长度」length的字串。
String.substring(start,index) :从指定的位置start到 指定「位置」index的字串。

charAt()取字串中的一个字

取字串中的一个字index索引指标从0算起、如果参数index不在0与字串长度之间,将返回一个空字串。

stringObject.charAt(index)
var myStr = "myString"; myStr.charAt(0); /* m */ myStr.charAt(2); /* S */ myStr.charAt(10); /* 返回一个空字串 */

charCodeAt()取字串中一个字的编码

传回字串中一个字的ISO-Latin-1码 (index索引指标从0算起 ) 为十进位的ASCII编码

stringObject.charCodeAt(index)
var myStr = "ABC"; myStr.charCodeAt(0); /* 65 (等于 VBScript Asc("A")) */ myStr.charCodeAt(1); /* 66 */
var myStr = "字串"; myStr.charCodeAt(0); /* 23383 */

有时候使用charCodeAt() 来判断中文字及字串的分割点。

concat()混合两个字串成一个新字串

将把它的所有参数转换成字串,然后按顺序连接到字串stringObject的「尾部」,并返回连接后的字串。请注意stringObject本身并没有被更改。stringObject.concat()Array.concat()很相似。

stringObject.concat(stringX,stringX,...,stringX)
var myStr = "my"; myStr.concat("String"); /* myString */
var myStr = "my"; myStr.concat("Str","ing"); /* myString */

indexOf()字串寻找

字串寻找「由左至右寻找」将从头到尾地检索字串stringObject是否包含有searchvalue。开始检索的位置在字串的fromIndex处或字串的开头(没有指定fromIndex时)。 如果找到一个searchvalue则返回searchvalue的第一次出现的位置。stringObject中的字元位置是从0开始的。

stringObject.indexOf(searchvalue,fromIndex)
var myStr = "myString String"; myStr.indexOf("Str",1); /* 2 */ myStr.indexOf("Str",5); /* 9 */ myStr.indexOf("Str",10); /* -1 没有找到 */

lastIndexOf()字串反向寻找

字串反向寻找「由右至左寻找」(反向)将从尾到头地检索字串stringObject看它是否含有子串searchvalue。开始检索的位置(左)在字串的fromIndex处或没有指定则为字串的结尾。

stringObject.lastIndexOf(searchvalue,fromIndex)
var myStr = "myString String"; myStr.lastIndexOf("Str",5); /* 2 */ myStr.lastIndexOf("Str"); /* 9 */ myStr.lastIndexOf("Str",1); /* -1 没有找到 */

replace()字串取代

字串取代符合regexp部份被replaceString部份取代,可加/g代表总体寻找,可加/i代表不分大小写。

stringObject.replace(regexp,replaceString)
var myStr = "myString"; myStr.replace(/Str/,"xxx"); /* myxxxing */ myStr.replace(/str/,"xxx"); /* myString (大小写不同) */
var myStr = "As As as As"; myStr.replace(/As/,"Bs"); /* Bs As as As (预设下只有一次) */ myStr.replace(/As/ig,"Bs"); /* Bs Bs Bs Bs (i 忽略大小写, g 全部取代) */

match()传回寻找到的字串

传回寻「找到的字串」regexp为待寻找的字串,可加/g代表总体寻找,可加/i代表不分大小写。

stringObject.match(regexp)
var myStr = "myString"; myStr.match("Str"); /* Str */ myStr.match(/Str/); /* Str */ myStr.match(/str/); /* null */ myStr.match(/str/ig); /* Str,Str (总体寻找) */

search()传回寻找到的字串位置

传回寻找到的「字串位置」regexp为待寻找的字串,可加/g代表总体寻找,可加/i代表不分大小写。

stringObject.search(regexp)
var myStr = "myString String"; myStr.search("Str"); /* 2 */ myStr.search(/Str/); /* 2 */ myStr.search(/str/); /* -1 */ myStr.search(/str/i); /* 2 (忽略大小写) */

slice()取得部份字串

slice() 比substring() 灵活度好一些,可以使用「负数」为参数。另与substr() 不同是因为它用两个字元的位置来指定子串,而substr() 则用字元位置和长度来指定子串。

stringObject.slice(start,end)

start要取得部份字串的起始。如果是负数,则该参数规定的是从字串的尾部开始算起的位置。
也就是说-1指字串的最后一个字元,-2指倒数第二个字元,以此类推。

end接着要取得部份字串的结尾。若未指定此参数,则要提取的子串包括start到原字串结尾的字串。
如果该参数是负数,那么它规定的是从字串的尾部开始算起的位置。

var myStr = "myString ABCDEF"; myStr.slice(5); /* ing ABCDEF */ myStr.slice(2,7); /* Strin */ myStr.slice(-6,-3); /* ABC */ myStr.slice(-3); /* DEF */

split()分隔成字串阵列

用于把字串分隔成「字串阵列」(separator为分隔字串length为分隔数目)。该阵列是通过在separator指定的边界处将字串stringObject分割成子串创建的。返回的阵列中的字串不包括separator自身。如果分隔字串separator为空字串 ("") 那么stringObject中的每个字元之间都会被分割。

stringObject.split(separator,length);
var myStr = "What plan for Weekend?" myStr.split(""); /* W,h,a,t, ,p,l,a,n, ,f,o,r, ,W,e,e,k,e,n,d,? */ myStr.split("",8); /* W,h,a,t, ,p,l,a (分隔数目 8) */
myStr.split(" "); /* What,plan,for,Weekend? */ myStr.split(/\s+/); /* What,plan,for,Weekend? */ myStr.split(" ",3); /* What,plan,for (分隔数目 3) */ myStr.split(/\s+/,3); /* What,plan,for (分隔数目 3) */

/\s+/相等于多次空白字元。

var myStr = "2:3:4:5" myStr.split(":"); /* 2,3,4,5 */ var myStr = "A|B|C|D|E|FG" myStr.split("|"); /* A,B,C,D,E,FG */

Modification in

网站结构设计最佳化

评估网站状态,网页架构、内容、制作方式、提供网站註册的服务。

网站登录

以国内为例若是网站在Google, Yahoo, Bing...登录,则搜寻引擎的资料库内就有您的网站资料。
访客才能依其关键字找到您。(提供免费网站註册服务)

网站排名

依据上网者的习性,通常网站排名若未在前些页内,上网者可能就无耐性继续往下搜寻 !
所以,您的网站排名若是于多页以后,访客会造访您的网站的机率相对的减少了。

网页设计内容的考量

如果网站的操作动线欠缺考量,导致访客无法适时看到所需要的资讯。如果网页设计不够精緻,影响到访客对商品的信赖度,降低访客的购买信心。商品说明不够详细,访客只能看到商品名称以及型号,无法得知网站商品的详细内容。

网页未做SEO优化

这将导致搜寻引擎无法顺利解读网页内容,相对的也就会影响到网站排名,网页内容资讯不足、商品的详细内容採用FLASH方式制作,这将导致搜寻引擎无法解读网页内容。另外主机连线不稳定、部份网站空间出租业为降低成本,会在同一部主机当中分配过多的网站,导致网路频宽不足,影响连线速度。

部落格版主 2018/12/18 星期二