var str1 = '  this is string1  ';
var str2 = 'this is string2';
str1.indexOf('s'); //args:string return:Number
str1.lastIndexOf('s'); //args:string return:Number
str1.length; //return:Number
str1.split(' '); //字符串分割为数组 return Array;,数组的方法join()为将数组连接成为字符串
str1.match(/\w/g); //将字符串按照匹配分割成为一个Array类型的东西, return Array;
str1.charAt(3); //参数为下标(index),返回对应下标的字符串。
console.log(str1.concat(str2)); //对原来的数组没有影响。返回值为当前的这个合并之后的数组。
console.log(str1);
str1.slice(0,5); //args: 1:start下标 2:end下标 return String
str1.substr(5); //args: 1:start下标 2:length return String
str1.trim(); //去除两端空格
str1.toUpperCase(); //转为大写
str1.toLowerCase(); //转为小写
str1.valueOf(); //返回原始值
str1.constructor;
str1.prototype.tostring = function(){
alert(1)
}

详细篇:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>string操作</title>
</head>
<body>
<script src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
var str1 = 'abcdefg fcdr edf';
// length 返回字符串的长度
console.log('字符串的长度为'+str1.length); //字符串的长度为18
//prototype; 扩展实例方法
$.extend(String.prototype,(function(){
function trimAll(){
return this.trim().replace(/\s+/g,'');
}
return {
trimAll:trimAll
}
})());
console.log(str1.trimAll()); //abcdefgfcdredf // charAt string.charAt(index) 指定位置的字符,返回这个字符(新的string),char:字符。At:在
console.log(str1.charAt(2)); //c // charCodeAt string.charCodeAt(index) 返回指定位置的字符的Unicode编码 返回值类型number类型,因为是Unicode。
var charCodeAtT = str1.charCodeAt(2);
console.log(charCodeAtT); //99
console.log(typeof charCodeAtT); //number //concat string.concat(string1, string2, ..., stringX) 连接两个或者多个字符串,返回一个新的字符串;一般用“+”代替。
var con1 = 'concat1';
var con2 = 'concat2';
console.log(str1.concat(con1,con2)); //abcd efg fcdr edfconcat1concat2
console.log(str1+con1+con2); ///abcd efg fcdr edfconcat1concat2 //fromCharCode String.fromCharCode(n1, n2, ..., nX) String的静态方法(类方法),不能通过实例调用 ,返回代表 Unicode 编码的字符。
var fromCharCode1 = String.fromCharCode(72,69,76,76,79); // 是fromCharCode不是formCharCode切记
console.log(fromCharCode1); //HELLO //indexOf string.indexOf(searchvalue,start) 指定字符首次在字符串中出现的位置 参数为字符,如果指定的字符不在字符串中,则返回-1;即没找到。
//start: 规定从字符串中的什么位置开始检索 取值范围:0~str.length-1
var indexOf1 = str1.indexOf('c');
console.log(indexOf1); //2 //lastIndexOf string.lastIndexOf(searchvalue,start) 指定字符最后一次在字符串中出现的位置 参数为字符,如果没找到,返回-1.
var lastIndexOf1 = str1.lastIndexOf('c');
console.log(lastIndexOf1); //10 //string.match(regexp) 使相配,即查找匹配的字符串 返回值 Array
//这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
var match1 = "The rain in SPAIN stays mainly in the plain";
var n=match1.match(/ain/g);
console.log(n); //["ain", "ain", "ain"]
console.log($.type(n)); //array //string.replace(searchvalue,newvalue) 返回值:一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
//searchvalue:规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
//newvalue:要替换的新字符串
var replace1 = match1.replace('ain','AIN');
console.log(replace1); //The rAIN in SPAIN stays mainly in the plain
var replace2 = match1.replace(/ain/gi,'AIN');
console.log(replace2); //The rAIN in SPAIN stays mAINly in the plAIN //string.search(searchvalue) 与indexOf的用法差不多,但是search可以接受正则表达式,indexO则不能接收。还有就是search只能接受一个参数,但是indexOf可以接受两个参数。与指定查找的字符串或者正则表达式相匹配的String 对象起始位置。返回值类型:number
console.log(match1); //The rain in SPAIN stays mainly in the plain
var search1 = match1.search('ain');
console.log(search1); //5
var search2 = match1.search(/AIN/g);
console.log(search2); //14
//slice string.slice(start,end) 截取字符串,有subString()和subStr(),其中subString的参数如果为负数,则会变成0,subStr的第二个参数是要截取的长度,不是下标。
//左闭右开区间 取左不取右
//截取之后的长度为len = end-start
var slice1 = str1.slice(0,5);
console.log(slice1); //abcde //split() string.split(separator,limit)
/**
* [splitT description] 字符串
* separator:可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
* limit:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
* @type {String}
* return Array
*/
var splitT = '172-7305-0288';
var arrSplit = splitT.split('-');
console.log(arrSplit); //["172", "7305", "0288"]
var StrSplit = arrSplit.join('-');
console.log(StrSplit); //'172-7305-0288' //string.toLowerCase() 把字符串转换为小写。
//string.toUpperCase() 把字符串转换为大写
/**
* [strlCase description]此方法不会改变原来的字符串
* @type {String}
* return String
*/
var strlCase = 'Hello World';
var strToLCase = strlCase.toLowerCase();
var strToUCase = strlCase.toUpperCase();
console.log(strToLCase); //hello world
console.log(strToUCase); //HELLO WORLD
/**
* [strTrim description]trim IE8及以下不支持原生trim方法
* @type {String}
*/
/**
* 兼容IE8及以下写的兼容。扩展String原型方法。
*/ $.extend(String.prototype,(function(){
function trim(){
return this.replace(/^\s\s*/,'').replace(/\s\s*$/,'');
}
return {
trim:trim
}
})());
var strTrim = ' abcdef ';
console.log('"'+strTrim.trim()+'"'); </script>
</body>
</html>

扩展String原型方法:

    $.extend(String.prototype, function() {
/**
* @description 清除字符串开头和结尾的空格,只有ECMA5才支持trim方法,因此扩展String这一包装对象的去除空格方法
*/ function trim() {
return this.replace(/^\s*/, '').replace(/\s*$/, '');
} /**
* 去除字符串中所有的空格
* @return {[type]} [description]
*/ function trimAll() {
return this.trim().replace(/\s+/g, '');
} /**
* @description 清除字符串首尾空格,并把字符串之间的多个空格转换为一个空格
*/ function clean() {
return this.trim().replace(/\s+/g, ' ');
}; /**
* @description 将“-”连接的字符串转换成驼峰式写法
*/ function capitalize() {
return this.charAt(0).toUpperCase() + this.slice(1).toLowerCase();
} /**
* @description 把目标字符串峰驼化
*/ function camelize() {
return this.replace(/-+(.)?/g, function(match, chr) {
return chr ? chr.toUpperCase() : '';
});
} /**
* @description验证是否是邮箱
*/ function isEmail() {
var reg1 = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4})$/;
return reg1.test(this);
} /**
* @description 验证手机号码
*/ function isMobile() {
var reg = /^[1][3,4,5,8]\d{9}$/;
return reg.test(this);
} /**
* @description 验证是否是日期
*/ function isDate() {
var pattern = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/;
if (!pattern.test(this)) {
alert("日期格式不对");
return false;
}
var arr = this.split("-"); if (arr[1].indexOf("0") == 0) {
arr[1] = arr[1].substr(1);
} if (arr[2].indexOf("0") == 0) {
arr[2] = arr[2].substr(1);
} if (parseInt(arr[1]) < 1 || parseInt(arr[1]) > 12) {
alert("月份不对");
return false;
}
if (parseInt(arr[2]) < 1 || parseInt(arr[2]) > 31) {
alert("日期的天数不对");
return false;
}
return true;
} return {
trim: trim,
trimAll: trimAll,
clean: trimAll,
capitalize: capitalize,
camelize: camelize,
isEmail: isEmail,
isMobile: isMobile,
isDate: isDate
}
}());

http://sandbox.runjs.cn/show/izjyomk1

string类型的方法的更多相关文章

  1. String类型作为方法的形参

    代码: public class TestString { String str = new String("good"); char [] ch = {'a','b','c'}; ...

  2. 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝

    第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...

  3. JAVA中int转String类型有三种方法

    String.valueOf(i) Integer.toString(i) i+"" i+""也就是一个int型的常量.+上个空的字符串,这里牵涉到了strin ...

  4. go中基本数据类型转换为string类型的方法

    代码 // 基本数据类型转换为string类型 package main import ( "fmt" "strconv" ) func main() { // ...

  5. Python学习笔记:String类型所有方法汇总

    # 按字母表熟悉下string中的方法# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z# 标红的为常用重点的方法!! str = " ...

  6. String类型的方法总结

    String :字符串对象的包装类型 var stringObject = new String("wanglehui"); 方法总结: 1.返回该对象表示的基本字符串值(也就是返 ...

  7. String类型的方法使用

    String.equals()方法源代码: public boolean equals(Object anObject) { if (this == anObject) { return true; ...

  8. 解决前端浏览器传JSON对像到服务端后全部变成string类型的方法

    这几天公司用nodejs+mongodb来做些东西,UI用的是kendo UI 碰到一个问题: 举个例子var a={"name":"张三","age ...

  9. C++中将string类型转换为int, float, double类型 主要通过以下几种方式:

      C++中将string类型转换为int, float, double类型 主要通过以下几种方式: # 方法一: 使用stringstream stringstream在int或float类型转换为 ...

随机推荐

  1. JAVA标号与continue,break

    可以给语句块加标号赋予它们名称,标号位于语句之前.标号只能被continue和break引用.格式如下:     label:statement     语句前只允许加一个标号,标号后面不能跟大括号. ...

  2. MarkDown不支持图片放缩。。

    ![](http://images2015.cnblogs.com/blog/573995/201604/573995-20160430162211050-1357272526.jpg =100x20 ...

  3. ACM学习历程—HDU5637 Transform(数论 && 最短路)

    题目链接:http://codeforces.com/problemset/problem/590/A 题目大意是给两种操作,然后给你一个s,一个t,求s至少需要多少次操作到t. 考虑到第一种操作是将 ...

  4. oracle rac的特征

    oracle rac的特征 1. spfile 参数文件需要被所有节点访问,需要放在共享存储上. 2. Redo ThreadRAC 环境下有多个实例,每个实例都需要有自己的一套Redo log 文件 ...

  5. bzoj 2850 巧克力王国——KDtree

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2850 改一下估价即可.判断子树能否整个取或者是否整个不能取,时间好像就能行了? 因为有负数, ...

  6. POJ3256:Cow Picnic

    Cow Picnic Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5432   Accepted: 2243 Descri ...

  7. 彻底删除kafka下面的topic

    如果只是用kafka-topics.sh的delete命令删除topic,会有两种情况: 如果当前topic没有使用过即没有传输过信息:可以彻底删除 如果当前topic有使用过即有过传输过信息:并没有 ...

  8. Python:urllib模块的urlretrieve方法

    转于:https://blog.csdn.net/fengzhizi76506/article/details/59229846 博主:fengzhizi76506 1)功能: urllib模块提供的 ...

  9. Python:struct模块的pack、unpack

    mport struct pack.unpack.pack_into.unpack_from 1 # ref: http://blog.csdn<a href="http://lib. ...

  10. 第 五 课 golang语言变量

    1 变量三种声明: (第一种的var和类型都是多余: 第二种最简洁,但是第二种只能用在函数中,不能是全局变量的声明)        第一种: var v_name v_type(注意顺序) v_nam ...