javascript字符串函数汇总


Posted in Javascript onDecember 06, 2015

JS自带函数

concat

将两个或多个字符的文本组合起来,返回一个新的字符串。

var a = "hello";
var b = ",world";
var c = a.concat(b);
alert(c);
//c = "hello,world"

indexOf

返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。

var index1 = a.indexOf("l");
//index1 = 2
var index2 = a.indexOf("l",3);
//index2 = 3

charAt

返回指定位置的字符。

var get_char = a.charAt(0);
//get_char = "h"

lastIndexOf

返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。

var index1 = lastIndexOf('l');
//index1 = 3
var index2 = lastIndexOf('l',2)
//index2 = 2

match

检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。

var re = new RegExp(/^\w+$/);
var is_alpha1 = a.match(re);
//is_alpha1 = "hello"
var is_alpha2 = b.match(re);
//is_alpha2 = null

substring

返回字符串的一个子串,传入参数是起始位置和结束位置。

var sub_string1 = a.substring(1);
//sub_string1 = "ello"
var sub_string2 = a.substring(1,4);
//sub_string2 = "ell"

substr

返回字符串的一个子串,传入参数是起始位置和长度

var sub_string1 = a.substr(1);
//sub_string1 = "ello"
var sub_string2 = a.substr(1,4);
//sub_string2 = "ello"

replace

用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。

var result1 = a.replace(re,"Hello");
//result1 = "Hello"
var result2 = b.replace(re,"Hello");
//result2 = ",world"

search

执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。

var index1 = a.search(re);
//index1 = 0
var index2 = b.search(re);
//index2 = -1

slice

提取字符串的一部分,并返回一个新字符串(与 substring 相同)。

var sub_string1 = a.slice(1);
//sub_string1 = "ello"
var sub_string2 = a.slice(1,4);
//sub_string2 = "ell"

split

通过将字符串划分成子串,将一个字符串做成一个字符串数组。

var arr1 = a.split("");
//arr1 = [h,e,l,l,o]

length

返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。

var len = a.length();
//len = 5

toLowerCase

将整个字符串转成小写字母。

var lower_string = a.toLowerCase();
//lower_string = "hello"

toUpperCase

将整个字符串转成大写字母。

var upper_string = a.toUpperCase();
//upper_string = "HELLO"

字符串函数扩充                               

/*
===========================================
//去除左边的空格
===========================================

*/

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.Left = function(len)
{

if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0||parseInt(len)>this.length)
{
len = this.length;
}
}

return this.substr(0,len);
}

/*
===========================================
//得到右边的字符串
===========================================
*/

String.prototype.Right = function(len)
{

if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0||parseInt(len)>this.length)
{
len = this.length;
}
}

return this.substring(this.length-len,this.length);
}

/*
===========================================
//得到中间的字符串,注意从0开始
===========================================
*/

String.prototype.Mid = function(start,len)
{
return this.substr(start,len);
}

/*
===========================================
//在字符串里查找另一字符串:位置从0开始
===========================================
*/

String.prototype.InStr = function(str)
{

if(str==null)
{
str = "";
}

return this.indexOf(str);
}

/*
===========================================
//在字符串里反向查找另一字符串:位置0开始
===========================================
*/

String.prototype.InStrRev = function(str)
{

if(str==null)
{
str = "";
}

return this.lastIndexOf(str);
}

/*
===========================================
//计算字符串打印长度
===========================================
*/

String.prototype.LengthW = function()
{
return this.replace(/[^\x00-\xff]/g,"**").length;
}

/*
===========================================
//是否是正确的IP地址
===========================================
*/

String.prototype.isIP = function()
{

var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;

if (reSpaceCheck.test(this))
{
this.match(reSpaceCheck);
if (RegExp.$1 <= 255 && RegExp.$1 >= 0
&& RegExp.$2 <= 255 && RegExp.$2 >= 0
&& RegExp.$3 <= 255 && RegExp.$3 >= 0
&& RegExp.$4 <= 255 && RegExp.$4 >= 0)
{
return true;  
}
else
{
return false;
}
}
else
{
return false;
}

}

/*
===========================================
//是否是正确的长日期
===========================================
*/

String.prototype.isLongDate = function()
{
var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null)
{
return false;
}
var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);

}

/*
===========================================
//是否是正确的短日期
===========================================
*/

String.prototype.isShortDate = function()
{
var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)
{
return false;
}
var d = new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

/*
===========================================
//是否是正确的日期
===========================================
*/

String.prototype.isDate = function()
{
return this.isLongDate()||this.isShortDate();
}

/*
===========================================
//是否是手机
===========================================
*/

String.prototype.isMobile = function()
{
return /^0{0,1}13[0-9]{9}$/.test(this);
}

/*
===========================================
//是否是邮件
===========================================
*/

String.prototype.isEmail = function()
{
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);
}

/*
===========================================
//是否是邮编(中国)
===========================================
*/

String.prototype.isZipCode = function()
{
return /^[\\d]{6}$/.test(this);
}

/*
===========================================
//是否是有汉字
===========================================
*/

String.prototype.existChinese = function()
{
//[\u4E00-\u9FA5]??h字?[\uFE30-\uFFA0]?槿?欠??
return /^[\x00-\xff]*$/.test(this);
}

/*
===========================================
//是否是合法的文件名/目录名
===========================================
*/

String.prototype.isFileName = function()
{
return !/[\\\/\*\?\|:"<>]/g.test(this);
}

/*
===========================================
//是否是有效链接
===========================================
*/

String.prototype.isUrl = function()
{
return /^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$/i.test(this);
}

/*
===========================================
//是否是有效的身份证(中国)
===========================================
*/

String.prototype.isIDCard = function()
{
var iSum=0;
var info="";
var sId = this;

 var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙 江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖 北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};

if(!/^\d{17}(\d|x)$/i.test(sId))
{
return false;
}
sId=sId.replace(/x$/i,"a");
//非法地区
if(aCity[parseInt(sId.substr(0,2))]==null)
{
return false;
}

var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));

var d=new Date(sBirthday.replace(/-/g,"/"))

//非法生日
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
{
return false;
}
for(var i = 17;i>=0;i--)
{
iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);
}

if(iSum%11!=1)
{
return false;
}
return true;

}

/*
===========================================
//是否是有效的电话号码(中国)
===========================================
*/

String.prototype.isPhoneCall = function()
{
return /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/.test(this);
}

/*
===========================================
//是否是数字
===========================================
*/

String.prototype.isNumeric = function(flag)
{
//验证是否是数字
if(isNaN(this))
{

return false;
}

switch(flag)
{

case null:    //数字
case "":
return true;
case "+":    //正数
return        /(^\+?|^\d?)\d*\.?\d+$/.test(this);
case "-":    //负数
return        /^-\d*\.?\d+$/.test(this);
case "i":    //整数
return        /(^-?|^\+?|\d)\d+$/.test(this);
case "+i":    //正整数
return        /(^\d+$)|(^\+?\d+$)/.test(this);            
case "-i":    //负整数
return        /^[-]\d+$/.test(this);
case "f":    //浮点数
return        /(^-?|^\+?|^\d?)\d*\.\d+$/.test(this);
case "+f":    //正浮点数
return        /(^\+?|^\d?)\d*\.\d+$/.test(this);            
case "-f":    //负浮点数
return        /^[-]\d*\.\d$/.test(this);        
default:    //缺省
return true;            
}
}

/*
===========================================
//是否是颜色(#FFFFFF形式)
===========================================
*/

String.prototype.IsColor = function()
{
var temp    = this;
if (temp=="") return true;
if (temp.length!=7) return false;
return (temp.search(/\#[a-fA-F0-9]{6}/) != -1);
}

/*
===========================================
//转换成全角
===========================================
*/

String.prototype.toCase = function()
{
var tmp = "";
for(var i=0;i<this.length;i++)
{
if(this.charCodeAt(i)>0&&this.charCodeAt(i)<255)
{
tmp += String.fromCharCode(this.charCodeAt(i)+65248);
}
else
{
tmp += String.fromCharCode(this.charCodeAt(i));
}
}
return tmp
}

/*
===========================================
//对字符串进行Html编码
===========================================
*/

String.prototype.toHtmlEncode = function()
{
var str = this;

str=str.replace(/&/g,"&");
str=str.replace(/</g,"<");
str=str.replace(/>/g,">");
str=str.replace(/\'/g,"'");
str=str.replace(/\"/g,""");
str=str.replace(/\n/g,"<br>");
str=str.replace(/\ /g," ");
str=str.replace(/\t/g,"    ");

return str;
}

/*
===========================================
//转换成日期
===========================================
*/

String.prototype.toDate = function()
{
try
{
return new Date(this.replace(/-/g, "\/"));
}
catch(e)
{
return null;
}
}
Javascript 相关文章推荐
5款Javascript颜色选择器
Oct 25 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
Nov 21 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
Jan 07 Javascript
详解JavaScript正则表达式中的global属性的使用
Jun 16 Javascript
全屏js头像上传插件源码高清版
Mar 29 Javascript
省市联动效果的简单实现代码(推荐)
Jun 06 Javascript
js实现复选框的全选和取消全选效果
Jan 03 Javascript
关于vue.extend和vue.component的区别浅析
Aug 16 Javascript
JavaScript中Object值合并方法详解
Dec 22 Javascript
利用vscode调试编译后的js代码详解
May 14 Javascript
vue实现淘宝购物车功能
Apr 20 Javascript
webpack+vue.js构建前端工程化的详细教程
May 10 Javascript
win7下安装配置node.js+express开发环境
Dec 06 #Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 #Javascript
如何利用AngularJS打造一款简单Web应用
Dec 05 #Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
Dec 05 #Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 #Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
Dec 04 #Javascript
jQuery mobile类库使用时加载导航历史的方法简介
Dec 04 #Javascript
You might like
对盗链说再见...
2006/10/09 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
两个Javascript小tip资料
2010/11/23 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
javascript实用方法总结
2015/02/06 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
python 如何设置守护进程
2020/10/29 Python
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
毕业生求职简历的自我评价
2013/10/23 职场文书
小学门卫岗位职责
2013/12/17 职场文书
自我鉴定书面格式
2014/01/13 职场文书
新闻编辑自荐书范文
2014/02/12 职场文书
开学典礼决心书
2014/03/11 职场文书
师德师风个人反思
2014/04/28 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
公司放假通知范文
2015/04/14 职场文书
详解JavaScript中Arguments对象用途
2021/08/30 Javascript