Js字符串操作函数大全

XML/HTML代码
  1. Js字符串操作函数大全   
  2.   
  3. /*   
  4. ******************************************   
  5.                         字符串函数扩充                                    
  6. ******************************************   
  7. */   
  8.   
  9. /*   
  10. ===========================================   
  11. //去除左边的空格   
  12. ===========================================   
  13.   
  14. */   
  15. String.prototype.LTrim = function()   
  16. {   
  17.         return this.replace(/(^\s*)/g, "");   
  18. }   
  19.   
  20.   
  21. /*   
  22. ===========================================   
  23. //去除右边的空格   
  24. ===========================================   
  25. */   
  26. String.prototype.Rtrim = function()   
  27. {   
  28.         return this.replace(/(\s*$)/g, "");   
  29. }   
  30.   
  31.     
  32.   
  33. /*   
  34. ===========================================   
  35. //去除前后空格   
  36. ===========================================   
  37. */   
  38. String.prototype.Trim = function()   
  39. {   
  40.         return this.replace(/(^\s*)|(\s*$)/g, "");   
  41. }   
  42.   
  43. /*   
  44. ===========================================   
  45. //得到左边的字符串   
  46. ===========================================   
  47. */   
  48. String.prototype.Left = function(len)   
  49. {   
  50.   
  51.         if(isNaN(len)||len==null)   
  52.         {   
  53.                 len = this.length;   
  54.         }   
  55.         else   
  56.         {   
  57.                 if(parseInt(len)<0||parseInt(len)>this.length)   
  58.                 {   
  59.                         len = this.length;   
  60.                 }   
  61.         }   
  62.            
  63.         return this.substr(0,len);   
  64. }   
  65.   
  66.   
  67. /*   
  68. ===========================================   
  69. //得到右边的字符串   
  70. ===========================================   
  71. */   
  72. String.prototype.Right = function(len)   
  73. {   
  74.   
  75.         if(isNaN(len)||len==null)   
  76.         {   
  77.                 len = this.length;   
  78.         }   
  79.         else   
  80.         {   
  81.                 if(parseInt(len)<0||parseInt(len)>this.length)   
  82.                 {   
  83.                         len = this.length;   
  84.                 }   
  85.         }   
  86.            
  87.         return this.substring(this.length-len,this.length);   
  88. }   
  89.   
  90.   
  91. /*   
  92. ===========================================   
  93. //得到中间的字符串,注意从0开始   
  94. ===========================================   
  95. */   
  96. String.prototype.Mid = function(start,len)   
  97. {   
  98.         return this.substr(start,len);   
  99. }   
  100.   
  101.   
  102. /*   
  103. ===========================================   
  104. //在字符串里查找另一字符串:位置从0开始   
  105. ===========================================   
  106. */   
  107. String.prototype.InStr = function(str)   
  108. {   
  109.   
  110.         if(str==null)   
  111.         {   
  112.                 str = "";   
  113.         }   
  114.            
  115.         return this.indexOf(str);   
  116. }   
  117.   
  118. /*   
  119. ===========================================   
  120. //在字符串里反向查找另一字符串:位置0开始   
  121. ===========================================   
  122. */   
  123. String.prototype.InStrRev = function(str)   
  124. {   
  125.   
  126.         if(str==null)   
  127.         {   
  128.                 str = "";   
  129.         }   
  130.            
  131.         return this.lastIndexOf(str);   
  132. }   
  133.   
  134.     
  135.   
  136. /*   
  137. ===========================================   
  138. //计算字符串打印长度   
  139. ===========================================   
  140. */   
  141. String.prototype.LengthW = function()   
  142. {   
  143.         return this.replace(/[^\x00-\xff]/g,"**").length;   
  144. }   
  145.   
  146. /*   
  147. ===========================================   
  148. //是否是正确的IP地址   
  149. ===========================================   
  150. */   
  151. String.prototype.isIP = function()   
  152. {   
  153.   
  154.         var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;   
  155.   
  156.         if (reSpaceCheck.test(this))   
  157.         {   
  158.                 this.match(reSpaceCheck);   
  159.                 if (RegExp.$1 <= 255 && RegExp.$1 >= 0    
  160.                  && RegExp.$2 <= 255 && RegExp.$2 >= 0    
  161.                  && RegExp.$3 <= 255 && RegExp.$3 >= 0    
  162.                  && RegExp.$4 <= 255 && RegExp.$4 >= 0)    
  163.                 {   
  164.                         return true;        
  165.                 }   
  166.                 else   
  167.                 {   
  168.                         return false;   
  169.                 }   
  170.         }   
  171.         else   
  172.         {   
  173.                 return false;   
  174.         }   
  175.       
  176. }   
  177.   
  178.   
  179. /*   
  180. ===========================================   
  181. //是否是正确的长日期   
  182. ===========================================   
  183. */   
  184. String.prototype.isLongDate = function()   
  185. {   
  186.         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})$/);    
  187.         if(r==null)   
  188.         {   
  189.                 return false;    
  190.         }   
  191.         var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);    
  192.         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]);   
  193.   
  194. }   
  195.   
  196. /*   
  197. ===========================================   
  198. //是否是正确的短日期   
  199. ===========================================   
  200. */   
  201. String.prototype.isShortDate = function()   
  202. {   
  203.         var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);    
  204.         if(r==null)   
  205.         {   
  206.                 return false;    
  207.         }   
  208.         var d = new Date(r[1], r[3]-1, r[4]);    
  209.         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);   
  210. }   
  211.   
  212. /*   
  213. ===========================================   
  214. //是否是正确的日期   
  215. ===========================================   
  216. */   
  217. String.prototype.isDate = function()   
  218. {   
  219.         return this.isLongDate()||this.isShortDate();   
  220. }   
  221.   
  222. /*   
  223. ===========================================   
  224. //是否是手机   
  225. ===========================================   
  226. */   
  227. String.prototype.isMobile = function()   
  228. {   
  229.         return /^0{0,1}13[0-9]{9}$/.test(this);   
  230. }   
  231.   
  232. /*   
  233. ===========================================   
  234. //是否是邮件   
  235. ===========================================   
  236. */   
  237. String.prototype.isEmail = function()   
  238. {   
  239.         return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);   
  240. }   
  241.   
  242. /*   
  243. ===========================================   
  244. //是否是邮编(中国)   
  245. ===========================================   
  246. */   
  247.   
  248. String.prototype.isZipCode = function()   
  249. {   
  250.         return /^[\\d]{6}$/.test(this);   
  251. }   
  252.   
  253. /*   
  254. ===========================================   
  255. //是否是有汉字   
  256. ===========================================   
  257. */   
  258. String.prototype.existChinese = function()   
  259. {   
  260.         //[\u4E00-\u9FA5]為漢字﹐[\uFE30-\uFFA0]為全角符號   
  261.         return /^[\x00-\xff]*$/.test(this);   
  262. }   
  263.   
  264. /*   
  265. ===========================================   
  266. //是否是合法的文件名/目录名   
  267. ===========================================   
  268. */   
  269. String.prototype.isFileName = function()   
  270. {   
  271.         return !/[\\\/\*\?\|:"<>]/g.test(this);   
  272. }   
  273.   
  274. /*   
  275. ===========================================   
  276. //是否是有效链接   
  277. ===========================================   
  278. */   
  279. String.prototype.isUrl = function()   
  280. {   
  281.         return /^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$/i.test(this);   
  282. }   
  283.   
  284.   
  285. /*   
  286. ===========================================   
  287. //是否是有效的身份证(中国)   
  288. ===========================================   
  289. */   
  290. String.prototype.isIDCard = function()   
  291. {   
  292.         var iSum=0;   
  293.         var info="";   
  294.         var sId = this;   
  295.   
  296.         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:"国外"};   
  297.   
  298.         if(!/^\d{17}(\d|x)$/i.test(sId))   
  299.         {   
  300.                 return false;   
  301.         }   
  302.         sIdsId=sId.replace(/x$/i,"a");   
  303.         //非法地区   
  304.         if(aCity[parseInt(sId.substr(0,2))]==null)   
  305.         {   
  306.                 return false;   
  307.         }   
  308.   
  309.         var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));   
  310.   
  311.         var d=new Date(sBirthday.replace(/-/g,"/"))   
  312.            
  313.         //非法生日   
  314.         if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))   
  315.         {   
  316.                 return false;   
  317.         }   
  318.         for(var i = 17;i>=0;i--)    
  319.         {   
  320.                 iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);   
  321.         }   
  322.   
  323.         if(iSum%11!=1)   
  324.         {   
  325.                 return false;   
  326.         }   
  327.         return true;   
  328.   
  329. }   
  330.   
  331. /*   
  332. ===========================================   
  333. //是否是有效的电话号码(中国)   
  334. ===========================================   
  335. */   
  336. String.prototype.isPhoneCall = function()   
  337. {   
  338.         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);   
  339. }   
  340.   
  341.   
  342. /*   
  343. ===========================================   
  344. //是否是数字   
  345. ===========================================   
  346. */   
  347. String.prototype.isNumeric = function(flag)   
  348. {   
  349.         //验证是否是数字   
  350.         if(isNaN(this))   
  351.         {   
  352.   
  353.                 return false;   
  354.         }   
  355.   
  356.         switch(flag)   
  357.         {   
  358.   
  359.                 case null:        //数字   
  360.                 case "":   
  361.                         return true;   
  362.                 case "+":        //正数   
  363.                         return                /(^\+?|^\d?)\d*\.?\d+$/.test(this);   
  364.                 case "-":        //负数   
  365.                         return                /^-\d*\.?\d+$/.test(this);   
  366.                 case "i":        //整数   
  367.                         return                /(^-?|^\+?|\d)\d+$/.test(this);   
  368.                 case "+i":        //正整数   
  369.                         return                /(^\d+$)|(^\+?\d+$)/.test(this);                           
  370.                 case "-i":        //负整数   
  371.                         return                /^[-]\d+$/.test(this);   
  372.                 case "f":        //浮点数   
  373.                         return                /(^-?|^\+?|^\d?)\d*\.\d+$/.test(this);   
  374.                 case "+f":        //正浮点数   
  375.                         return                /(^\+?|^\d?)\d*\.\d+$/.test(this);                           
  376.                 case "-f":        //负浮点数   
  377.                         return                /^[-]\d*\.\d$/.test(this);                   
  378.                 default:        //缺省   
  379.                         return true;                           
  380.         }   
  381. }   
  382.   
  383. /*   
  384. ===========================================   
  385. //是否是颜色(#FFFFFF形式)   
  386. ===========================================   
  387. */   
  388. String.prototype.IsColor = function()   
  389. {   
  390.         var temp        = this;   
  391.         if (temp=="") return true;   
  392.         if (temp.length!=7) return false;   
  393.         return (temp.search(/\#[a-fA-F0-9]{6}/) != -1);   
  394. }   
  395.   
  396. /*   
  397. ===========================================   
  398. //转换成全角   
  399. ===========================================   
  400. */   
  401. String.prototype.toCase = function()   
  402. {   
  403.         var tmp = "";   
  404.         for(var i=0;i<this.length;i++)   
  405.         {   
  406.                 if(this.charCodeAt(i)>0&&this.charCodeAt(i)<255)   
  407.                 {   
  408.                         tmp += String.fromCharCode(this.charCodeAt(i)+65248);   
  409.                 }   
  410.                 else   
  411.                 {   
  412.                         tmp += String.fromCharCode(this.charCodeAt(i));   
  413.                 }   
  414.         }   
  415.         return tmp   
  416. }   
  417.   
  418. /*   
  419. ===========================================   
  420. //对字符串进行Html编码   
  421. ===========================================   
  422. */   
  423. String.prototype.toHtmlEncode = function()   
  424. {   
  425.         var str = this;   
  426.   
  427.         strstr=str.replace(/&/g,"&");   
  428.         strstr=str.replace(/</g,"<");   
  429.         strstr=str.replace(/>/g,">");   
  430.         strstr=str.replace(/\'/g,"&apos;");   
  431.         strstr=str.replace(/\"/g,""");   
  432.         strstr=str.replace(/\n/g,"<br>");   
  433.         strstr=str.replace(/\ /g," ");   
  434.         strstr=str.replace(/\t/g,"    ");   
  435.   
  436.         return str;   
  437. }   
  438.   
  439. /*   
  440. ===========================================   
  441. //转换成日期   
  442. ===========================================   
  443. */   
  444. String.prototype.toDate = function()   
  445. {   
  446.         try   
  447.         {   
  448.                 return new Date(this.replace(/-/g, "\/"));   
  449.         }   
  450.         catch(e)   
  451.         {   
  452.                 return null;   
  453.         }   
  454. }   
  455.   
  456.     
  457.   
  458.     
  459.   
  460.     
  461.   
  462. 1.Asc(x),Chr(x):转换字符,字符码   
  463.   
  464. 2。Filter:搜寻字符串数组中的特定字符串   
  465.   
  466. 格式:v=filter(x,s[,include[,compare]])   
  467.   
  468. 实例:   
  469.   
  470. Dim x()={"kjwang","wangkj","peter"}   
  471.   
  472. Dim v   
  473.   
  474. v=filter(x,"kj") '结果v(0)="kjwang",v(1)="wangkj"   
  475.   
  476. v=filter(x,"kj",false) '结果v(0)="peter"   
  477.   
  478. v=filter(x,"kj",true,vbTextCompare) '不分大小写搜寻    
  479.   
  480. 3.InStr:寻找字符串位置(InstrRev:倒过来寻找字符串)   
  481.   
  482. 格式:   
  483.   
  484. v=instr(x,y) '从x字符串第1个字符起找出y字符串出现的位置   
  485.   
  486. v=instr(n,x,y) '从x字符串第n个字符起找出y字符串出现的位置   
  487.   
  488. 格式:   
  489.   
  490. v=InstrRev(x,s[,n[,Compare]])   
  491.   
  492. 4。Join:将字符串连接   
  493.   
  494. 格式:v=join(x[,d])’d为分隔字符   
  495.   
  496. 5。Len(x):计算字符串x的长度   
  497.   
  498. 格式:v=len(x)   
  499.   
  500. 6.Left(x,n):返回字符串x左边n个字符(对应Right(x,n))   
  501.   
  502. 7。Mid:读取字符串x中间的字符   
  503.   
  504. 格式:v=mid(x,n,m)   
  505.   
  506. 8。LTrim(x),RTim(x),Trim(x)去空白字符   
  507.   
  508. 9.Replace:字符串取代   
  509.   
  510. 格式:v=Replace(x,s,r)   
  511.   
  512. 实例:x="i saw a saw a saw"  
  513.   
  514. v=replace(x,"saw","so") 'v="i so a so a so"  
  515.   
  516. 10.Split:字符串分割   
  517.   
  518. 格式:v=split(s[,d])   
  519.   
  520. 实例:v=split("vb.net,iis6.0,asp.net",",")   
  521.   
  522. '结果v(0)="vb.net",v(1)="iis6.0",v(2)="asp.net"   
  523.   
  524. 11.StrReverse:反转字符串   
  525.   
  526. 实例:v=strreverse("kjwang") 'v="gnawjk"  
  527.   
  528. 12.UCase(x),LCase(x):变换英文字母的大小写   
  529.   
  530. 实例:x="hello,VB中文!"  
  531.   
  532. v=UCase(x) 'v="HELLO,VB中文!"    
  533. 1.取出日期时间   
  534.   
  535. -1)DateValue(x),TimeValue(x)   
  536.   
  537. 格式:v=DateValue(x) :取出的“日期”部分   
  538.   
  539.    v=timevalue(x) '类上   
  540.   
  541. -2)Year(x),Month(x),Day(x)   
  542.   
  543. 格式:v=Year(x)   
  544.   
  545.    v=Month(x)   
  546.   
  547.    v=Day(x)   
  548.   
  549.    Hour(x),Minute(x),Second(x):取出时,分,秒   
  550.   
  551. -3)DateSerial(Y,M,D):合并年、月、日成为日期   
  552.   
  553. 实例:Dim v   
  554.   
  555. v=DateSerial(1996,10,5) 'v=1996/10/5   
  556.   
  557.    TimeSerial(H,M,S):合并时、分、秒成为时间   
  558.   
  559. 2.Now:读取系统日期时间   
  560.   
  561. 格式:v=now  
  562.   
  563. 3.Timer:从凌晨12:00:00AM起所经过的秒数   
  564.   
  565. 格式:v=timer  
  566.   
  567. 4.DatePart(p,x):取出年、月、日等各部分的数值   
  568.   
  569. 实例:Dim X=#2/10/1996 16:45:30#   
  570.   
  571. v=DatePart("yyyy",X) 'v=1996年   
  572.   
  573. v=DatePart("m",X) 'v=2月   
  574.   
  575. v=DatePart("d",X) 'v=10日   
  576.   
  577. v=DatePart("h",X) 'v=16时   
  578.   
  579. v=DatePart("n",X) 'v=45分   
  580.   
  581. v=DatePart("s",X) 'v=30秒   
  582.   
  583. v=DatePart("q",X) 'v=1季(第一季,春季)   
  584.   
  585. v=DatePart("y",X) 'v=41天(1996年的第41天)   
  586.   
  587. v=DatePart("ww",X) 'v=6周(1996年的第6周)   
  588.   
  589. v=DatePart("w",X) 'v=7(第6周的第7天,即星期六)   
  590.   
  591. 5。DateAdd(p,n,x):加减若干时间后的新日期时间   
  592.   
  593. 格式:v=DateAdd(p,n,x) 'p值同上如:"yyyy"、"m"等   
  594.   
  595. 实例:Dim x=#1/31/1996 16:45:30#   
  596.   
  597. v=dateadd("yyyy",-3,x) '减3年,v=1993/1/31 16:45:30   
  598.   
  599. 6.DateDiff(p,x1,x2):计算两日期时间的差值 'p值同上   
  600.   
  601. 实例:dim x1=#12/31/1996 16:45:30#   
  602.   
  603. x2=#2/10/1997 9:30:50#   
  604.   
  605. v=datediff("yyyy",x1,x2) 'v=1年    
  606.   
  607. 7。FormatDateTime:日期时间的格式化   
  608.   
  609. 格式:v=formatdateyime(x[,日期格式])   
  610.   
  611. 日期格式值:DateFormat.GeneralDate 、 DateFormat.LongDate、   
  612.   
  613. DateFotmat.ShortDate、DateFormat.LongTime、DateFormat.ShortTime   
  614.   
  615. 8.MonthName:返回月份名称   
  616.   
  617. 实例:v=monthname(5) 'v="五月"  
  618.   
  619. 9.WeekDayName:返回星期名称 ’用法同8.  

 



[本日志由 风一样的男孩 于 2009-06-12 12:42 AM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Js 字符串 函数
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.