String

作者: 夏稳 | 来源:发表于2017-09-05 17:54 被阅读0次

    1、charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。

    strObj.charCodeAt(index)

    说明:

    index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。

    如果指定位置没有字符,将返回NaN。

    例如:

    var str = "ABC";

    str.charCodeAt(0);

    结果:65

    2、fromCharCode方法从一些Unicode字符串中返回一个字符串。

    String.fromCharCode([code1[,code2...]])

    说明:

    code1,code2...是要转换为字符串的Unicode字符串序列。如果没有参数,结果为空字符串。

    例如:

    String.fromCharCode(65,66,112);

    结果:ABp

    3、charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。

    strObj.charAt(index)

    说明:

    index想得到的字符的基于零的索引。有效值是0与字符串长度减一之间的值。

    例如:

    var str = "ABC";

    str.charAt(1);

    结果:B

    4、slice方法返回字符串的片段。

    strObj.slice(start[,end])

    说明:

    start下标从0开始的strObj指定部分其实索引。如果start为负,将它作为length+start处理,此处length为字符串的长度。

    end小标从0开始的strObj指定部分结束索引。如果end为负,将它作为length+end处理,此处length为字符串的长度。

    例如:

    012345

    var str = "ABCDEF";

    str.slice(2,4);

    结果:CD

    5、substring方法返回位于String对象中指定位置的子字符串。

    strObj.substring(start,end)

    说明:

    start指明子字符串的起始位置,该索引从0开始起算。

    end指明子字符串的结束位置,该索引从0开始起算。

    substring方法使用start和end两者中的较小值作为子字符串的起始点。如果start或end为NaN或者为负数,那么将其替换为0。

    例如:

    012345

    var str = "ABCDEF";

    str.substring(2,4); // 或 str.substring(4,2);

    结果:CD

    6、substr方法返回一个从指定位置开始的指定长度的子字符串。

    strObj.substr(start[,length])

    说明:

    start所需的子字符串的起始位置。字符串中的第一个字符的索引为0。

    length在返回的子字符串中应包括的字符个数。

    例如:

    012345

    var str = "ABCDEF";

    str.substr(2,4);

    结果:CDEF

    7、indexOf方法放回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。

    strObj.indexOf(substr[,startIndex])

    说明:

    substr要在String对象中查找的子字符串。

    startIndex该整数值指出在String对象内开始查找的索引。如果省略,则从字符串的开始处查找。

    例如:

    01234567

    var str = "ABCDECDF";

    str.indexOf("CD",1); // 由1位置从左向右查找 123...

    结果:2

    8、lastIndexOf方法返回String对象中字符串最后出现的位置。如果没有匹配到子字符串,则返回-1。

    strObj.lastIndexOf(substr[,startindex])

    说明:

    substr要在String对象内查找的子字符串。

    startindex该整数值指出在String对象内进行查找的开始索引位置。如果省略,则查找从字符串的末尾开始。

    例如:

    01234567

    var str = "ABCDECDF";

    str.lastIndexOf("CD",6); // 由6位置从右向左查找 ...456

    结果:5

    9、search方法返回与正则表达式查找内容匹配的第一个字符串的位置。

    strObj.search(reExp)

    说明:

    reExp包含正则表达式模式和可用标志的正则表达式对象。

    例如:

    var str = "ABCDECDF";

    str.search("CD"); // 或 str.search(/CD/i);

    结果:2

    10、concat方法返回字符串值,该值包含了两个或多个提供的字符串的连接。

    str.concat([string1[,string2...]])

    说明:

    string1,string2要和所有其他指定的字符串进行连接的String对象或文字。

    例如:

    var str = "ABCDEF";

    str.concat("ABCDEF","ABC");

    结果:ABCDEFABCDEFABC

    11、将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

    strObj.split([separator[,limit]])

    说明:

    separator字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。

    limit该值用来限制返回数组中的元素个数。

    例如:

    var str = "AA BB CC DD EE FF";

    alert(str.split(" ",3));

    结果:

    AA,BB,CC

    12、toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。

    例如:

    var str = "ABCabc";

    str.toLowerCase();

    结果:abcabc

    13、toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。

    例如:

    var str = "ABCabc";

    str.toUpperCase();

    结果:ABCABC

    14、trim()

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

    var re = new RegExp(/^\w+$/);

    var is_alpha1 = a.match(re);

    //is_alpha1 = "hello"

    var is_alpha2 = b.match(re);

    //is_alpha2 = null

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

    var result1 = a.replace(re,"Hello");

    //result1 = "Hello"

    var result2 = b.replace(re,"Hello");

    //result2 = ",world"

    17、字符串函数扩充

    //去除左边的空格

    */

    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]為漢字﹐[\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

    {

    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(/

    str=str.replace(/>/g,">");

    str=str.replace(/\'/g,"'");

    str=str.replace(/\"/g,""");

    str=str.replace(/\n/g,"
    ");

    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;

    }

    }

    相关文章

      网友评论

          本文标题:String

          本文链接:https://www.haomeiwen.com/subject/tocpjxtx.html