posts - 14,  comments - 37,  trackbacks - 0

          Js字符串操作函數大全

          /*
          ******************************************
                                  字符串函數擴充                                
          ******************************************
          */

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

          */
          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<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,"&amp;");
                  str=str.replace(/</g,"&lt;");
                  str=str.replace(/>/g,"&gt;");
                  str=str.replace(/\'/g,"&apos;");
                  str=str.replace(/\"/g,"&quot;");
                  str=str.replace(/\n/g,"<br>");
                  str=str.replace(/\ /g,"&nbsp;");
                  str=str.replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");

                  return str;
          }

          /*
          ===========================================
          //轉換成日期
          ===========================================
          */
          String.prototype.toDate = function()
          {
                  try
                  {
                          return new Date(this.replace(/-/g, "\/"));
                  }
                  catch(e)
                  {
                          return null;
                  }
          }

           

           

           

          1.Asc(x),Chr(x):轉換字符,字符碼

          2。Filter:搜尋字符串數組中的特定字符串

          格式:v=filter(x,s[,include[,compare]])

          實例:

          Dim x()={"kjwang","wangkj","peter"}

          Dim v

          v=filter(x,"kj") '結果v(0)="kjwang",v(1)="wangkj"

          v=filter(x,"kj",false) '結果v(0)="peter"

          v=filter(x,"kj",true,vbTextCompare) '不分大小寫搜尋

          3.InStr:尋找字符串位置(InstrRev:倒過來尋找字符串)

          格式:

          v=instr(x,y) '從x字符串第1個字符起找出y字符串出現的位置

          v=instr(n,x,y) '從x字符串第n個字符起找出y字符串出現的位置

          格式:

          v=InstrRev(x,s[,n[,Compare]])

          4。Join:將字符串連接

          格式:v=join(x[,d])’d為分隔字符

          5。Len(x):計算字符串x的長度

          格式:v=len(x)

          6.Left(x,n):返回字符串x左邊n個字符(對應Right(x,n))

          7。Mid:讀取字符串x中間的字符

          格式:v=mid(x,n,m)

          8。LTrim(x),RTim(x),Trim(x)去空白字符

          9.Replace:字符串取代

          格式:v=Replace(x,s,r)

          實例:x="i saw a saw a saw"

          v=replace(x,"saw","so") 'v="i so a so a so"

          10.Split:字符串分割

          格式:v=split(s[,d])

          實例:v=split("vb.net,iis6.0,asp.net",",")

          '結果v(0)="vb.net",v(1)="iis6.0",v(2)="asp.net"

          11.StrReverse:反轉字符串

          實例:v=strreverse("kjwang") 'v="gnawjk"

          12.UCase(x),LCase(x):變換英文字母的大小寫

          實例:x="hello,VB中文!"

          v=UCase(x) 'v="HELLO,VB中文!"
          1.取出日期時間

          -1)DateValue(x),TimeValue(x)

          格式:v=DateValue(x) :取出的“日期”部分

             v=timevalue(x) '類上

          -2)Year(x),Month(x),Day(x)

          格式:v=Year(x)

             v=Month(x)

             v=Day(x)

             Hour(x),Minute(x),Second(x):取出時,分,秒

          -3)DateSerial(Y,M,D):合并年、月、日成為日期

          實例:Dim v

          v=DateSerial(1996,10,5) 'v=1996/10/5

             TimeSerial(H,M,S):合并時、分、秒成為時間

          2.Now:讀取系統日期時間

          格式:v=now

          3.Timer:從凌晨12:00:00AM起所經過的秒數

          格式:v=timer

          4.DatePart(p,x):取出年、月、日等各部分的數值

          實例:Dim X=#2/10/1996 16:45:30#

          v=DatePart("yyyy",X) 'v=1996年

          v=DatePart("m",X) 'v=2月

          v=DatePart("d",X) 'v=10日

          v=DatePart("h",X) 'v=16時

          v=DatePart("n",X) 'v=45分

          v=DatePart("s",X) 'v=30秒

          v=DatePart("q",X) 'v=1季(第一季,春季)

          v=DatePart("y",X) 'v=41天(1996年的第41天)

          v=DatePart("ww",X) 'v=6周(1996年的第6周)

          v=DatePart("w",X) 'v=7(第6周的第7天,即星期六)

          5。DateAdd(p,n,x):加減若干時間后的新日期時間

          格式:v=DateAdd(p,n,x) 'p值同上如:"yyyy"、"m"等

          實例:Dim x=#1/31/1996 16:45:30#

          v=dateadd("yyyy",-3,x) '減3年,v=1993/1/31 16:45:30

          6.DateDiff(p,x1,x2):計算兩日期時間的差值 'p值同上

          實例:dim x1=#12/31/1996 16:45:30#

          x2=#2/10/1997 9:30:50#

          v=datediff("yyyy",x1,x2) 'v=1年

          7。FormatDateTime:日期時間的格式化

          格式:v=formatdateyime(x[,日期格式])

          日期格式值:DateFormat.GeneralDate 、 DateFormat.LongDate、

          DateFotmat.ShortDate、DateFormat.LongTime、DateFormat.ShortTime

          8.MonthName:返回月份名稱

          實例:v=monthname(5) 'v="五月"

          9.WeekDayName:返回星期名稱 ’用法同8.

          posted on 2007-06-28 17:45 冰封的愛 閱讀(4083) 評論(2)  編輯  收藏 所屬分類: 常用工具

          FeedBack:
          # re: Js字符串操作函數大全
          2008-12-16 01:18 | 成別
          我喜歡!!!頂  回復  更多評論
            
          # re: Js字符串操作函數大全
          2008-12-23 17:05 | 沙漠綠樹
          這位仁兄,你寫的東西太有用了。  回復  更多評論
            
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 义马市| 博乐市| 永城市| 平南县| 江永县| 巢湖市| 汉源县| 淳化县| 内丘县| 沈阳市| 清丰县| 汉寿县| 监利县| 合江县| 汕尾市| 临安市| 古交市| 呼图壁县| 西贡区| 台山市| 盐城市| 英吉沙县| 井研县| 平湖市| 桐梓县| 绍兴市| 泸州市| 土默特右旗| 满城县| 菏泽市| 南江县| 南皮县| 屏南县| 色达县| 青铜峡市| 泗水县| 炎陵县| 天柱县| 雅江县| 昌都县| 大足县|