js 字符串处理

js 字符串处理

关键字: js

Java代码

  1. JavaScript字符串函数大全    
  2. JS自带函数   
  3. concat   
  4. 将两个或多个字符的文本组合起来,返回一个新的字符串。   
  5. var a = "hello";   
  6. var b = ",world";   
  7. var c = a.concat(b);   
  8. alert(c);   
  9. //c = "hello,world"   
  10. indexOf   
  11. 返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。   
  12. var index1 = a.indexOf("l");   
  13. //index1 = 2   
  14. var index2 = a.indexOf("l",3);   
  15. //index2 = 3   
  16. charAt   
  17. 返回指定位置的字符。   
  18. var get_char = a.charAt(0);   
  19. //get_char = "h"   
  20. lastIndexOf   
  21. 返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。   
  22. var index1 = lastIndexOf('l');   
  23. //index1 = 3   
  24. var index2 = lastIndexOf('l',2)   
  25. //index2 = 2   
  26. match   
  27. 检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。   
  28. var re = new RegExp(/^\w+$/);   
  29. var is_alpha1 = a.match(re);   
  30. //is_alpha1 = "hello"   
  31. var is_alpha2 = b.match(re);   
  32. //is_alpha2 = null   
  33. substring   
  34. 返回字符串的一个子串,传入参数是起始位置和结束位置。   
  35. var sub_string1 = a.substring(1);   
  36. //sub_string1 = "ello"   
  37. var sub_string2 = a.substring(1,4);   
  38. //sub_string2 = "ell"   
  39. substr   
  40. 返回字符串的一个子串,传入参数是起始位置和长度   
  41. var sub_string1 = a.substr(1);   
  42. //sub_string1 = "ello"   
  43. var sub_string2 = a.substr(1,4);   
  44. //sub_string2 = "ello"   
  45. replace   
  46. 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。   
  47. var result1 = a.replace(re,"Hello");   
  48. //result1 = "Hello"   
  49. var result2 = b.replace(re,"Hello");   
  50. //result2 = ",world"   
  51. search   
  52. 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。   
  53. var index1 = a.search(re);   
  54. //index1 = 0   
  55. var index2 = b.search(re);   
  56. //index2 = -1   
  57. slice   
  58. 提取字符串的一部分,并返回一个新字符串(与 substring 相同)。   
  59. var sub_string1 = a.slice(1);   
  60. //sub_string1 = "ello"   
  61. var sub_string2 = a.slice(1,4);   
  62. //sub_string2 = "ell"   
  63. split   
  64. 通过将字符串划分成子串,将一个字符串做成一个字符串数组。   
  65. var arr1 = a.split("");   
  66. //arr1 = [h,e,l,l,o]   
  67. length   
  68. 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。   
  69. var len = a.length();   
  70. //len = 5   
  71. toLowerCase   
  72. 将整个字符串转成小写字母。   
  73. var lower_string = a.toLowerCase();   
  74. //lower_string = "hello"   
  75. toUpperCase   
  76. 将整个字符串转成大写字母。   
  77. var upper_string = a.toUpperCase();   
  78. //upper_string = "HELLO"   
  79.   
  80. /*  
  81. ******************************************  
  82.                         字符串函数扩充                                  
  83. ******************************************  
  84. */  
  85.   
  86. /*  
  87. ===========================================  
  88. //去除左边的空格  
  89. ===========================================  
  90.  
  91. */  
  92. String.prototype.LTrim = function()   
  93. {   
  94.         return this.replace(/(^\s*)/g, "");   
  95. }   
  96.   
  97.   
  98. /*  
  99. ===========================================  
  100. //去除右边的空格  
  101. ===========================================  
  102. */  
  103. String.prototype.Rtrim = function()   
  104. {   
  105.         return this.replace(/(\s*$)/g, "");   
  106. }   
  107.   
  108. /*  
  109. ===========================================  
  110. //去除前后空格  
  111. ===========================================  
  112. */  
  113. String.prototype.Trim = function()   
  114. {   
  115.         return this.replace(/(^\s*)|(\s*$)/g, "");   
  116. }   
  117.   
  118. /*  
  119. ===========================================  
  120. //得到左边的字符串  
  121. ===========================================  
  122. */  
  123. String.prototype.Left = function(len)   
  124. {   
  125.   
  126.         if(isNaN(len)||len==null)   
  127.         {   
  128.                 len = this.length;   
  129.         }   
  130.         else  
  131.         {   
  132.                 if(parseInt(len)<0||parseInt(len)>this.length)   
  133.                 {   
  134.                         len = this.length;   
  135.                 }   
  136.         }   
  137.           
  138.         return this.substr(0,len);   
  139. }   
  140.   
  141.   
  142. /*  
  143. ===========================================  
  144. //得到右边的字符串  
  145. ===========================================  
  146. */  
  147. String.prototype.Right = function(len)   
  148. {   
  149.   
  150.         if(isNaN(len)||len==null)   
  151.         {   
  152.                 len = this.length;   
  153.         }   
  154.         else  
  155.         {   
  156.                 if(parseInt(len)<0||parseInt(len)>this.length)   
  157.                 {   
  158.                         len = this.length;   
  159.                 }   
  160.         }   
  161.           
  162.         return this.substring(this.length-len,this.length);   
  163. }   
  164.   
  165.   
  166. /*  
  167. ===========================================  
  168. //得到中间的字符串,注意从0开始  
  169. ===========================================  
  170. */  
  171. String.prototype.Mid = function(start,len)   
  172. {   
  173.         return this.substr(start,len);   
  174. }   
  175.   
  176.   
  177. /*  
  178. ===========================================  
  179. //在字符串里查找另一字符串:位置从0开始  
  180. ===========================================  
  181. */  
  182. String.prototype.InStr = function(str)   
  183. {   
  184.   
  185.         if(str==null)   
  186.         {   
  187.                 str = "";   
  188.         }   
  189.           
  190.         return this.indexOf(str);   
  191. }   
  192.   
  193. /*  
  194. ===========================================  
  195. //在字符串里反向查找另一字符串:位置0开始  
  196. ===========================================  
  197. */  
  198. String.prototype.InStrRev = function(str)   
  199. {   
  200.   
  201.         if(str==null)   
  202.         {   
  203.                 str = "";   
  204.         }   
  205.           
  206.         return this.lastIndexOf(str);   
  207. }   
  208.   
  209. /*  
  210. ===========================================  
  211. //计算字符串打印长度  
  212. ===========================================  
  213. */  
  214. String.prototype.LengthW = function()   
  215. {   
  216.         return this.replace(/[^\x00-\xff]/g,"**").length;   
  217. }   
  218.   
  219. /*  
  220. ===========================================  
  221. //是否是正确的IP地址  
  222. ===========================================  
  223. */  
  224. String.prototype.isIP = function()   
  225. {   
  226.   
  227.         var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;   
  228.   
  229.         if (reSpaceCheck.test(this))   
  230.         {   
  231.                 this.match(reSpaceCheck);   
  232.                 if (RegExp.$1 <= 255 && RegExp.$1 >= 0  
  233.                  && RegExp.$2 <= 255 && RegExp.$2 >= 0  
  234.                  && RegExp.$3 <= 255 && RegExp.$3 >= 0  
  235.                  && RegExp.$4 <= 255 && RegExp.$4 >= 0)   
  236.                 {   
  237.                         return true;       
  238.                 }   
  239.                 else  
  240.                 {   
  241.                         return false;   
  242.                 }   
  243.         }   
  244.         else  
  245.         {   
  246.                 return false;   
  247.         }   
  248.   
  249. }   
  250.   
  251.   
  252. /*  
  253. ===========================================  
  254. //是否是正确的长日期  
  255. ===========================================  
  256. */  
  257. String.prototype.isLongDate = function()   
  258. {   
  259.         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})$/);   
  260.         if(r==null)   
  261.         {   
  262.                 return false;   
  263.         }   
  264.         var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);   
  265.         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]);   
  266.   
  267. }   
  268.   
  269. /*  
  270. ===========================================  
  271. //是否是正确的短日期  
  272. ===========================================  
  273. */  
  274. String.prototype.isShortDate = function()   
  275. {   
  276.         var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);   
  277.         if(r==null)   
  278.         {   
  279.                 return false;   
  280.         }   
  281.         var d = new Date(r[1], r[3]-1, r[4]);   
  282.         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);   
  283. }   
  284.   
  285. /*  
  286. ===========================================  
  287. //是否是正确的日期  
  288. ===========================================  
  289. */  
  290. String.prototype.isDate = function()   
  291. {   
  292.         return this.isLongDate()||this.isShortDate();   
  293. }   
  294.   
  295. /*  
  296. ===========================================  
  297. //是否是手机  
  298. ===========================================  
  299. */  
  300. String.prototype.isMobile = function()   
  301. {   
  302.         return /^0{0,1}13[0-9]{9}$/.test(this);   
  303. }   
  304.   
  305. /*  
  306. ===========================================  
  307. //是否是邮件  
  308. ===========================================  
  309. */  
  310. String.prototype.isEmail = function()   
  311. {   
  312.         return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);   
  313. }   
  314.   
  315. /*  
  316. ===========================================  
  317. //是否是邮编(中国)  
  318. ===========================================  
  319. */  
  320.   
  321. String.prototype.isZipCode = function()   
  322. {   
  323.         return /^[\\d]{6}$/.test(this);   
  324. }   
  325.   
  326. /*  
  327. ===========================================  
  328. //是否是有汉字  
  329. ===========================================  
  330. */  
  331. String.prototype.existChinese = function()   
  332. {   
  333.         //[\u4E00-\u9FA5]為漢字﹐[\uFE30-\uFFA0]為全角符號   
  334.         return /^[\x00-\xff]*$/.test(this);   
  335. }   
  336.   
  337. /*  
  338. ===========================================  
  339. //是否是合法的文件名/目录名  
  340. ===========================================  
  341. */  
  342. String.prototype.isFileName = function()   
  343. {   
  344.         return !/[\\\/\*\?\|:"<>]/g.test(this);   
  345. }   
  346.   
  347. /*  
  348. ===========================================  
  349. //是否是有效链接  
  350. ===========================================  
  351. */  
  352. String.prototype.isUrl = function()   
  353. {   
  354.         return /^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$/i.test(this);   
  355. }   
  356.   
  357.   
  358. /*  
  359. ===========================================  
  360. //是否是有效的身份证(中国)  
  361. ===========================================  
  362. */  
  363. String.prototype.isIDCard = function()   
  364. {   
  365.         var iSum=0;   
  366.         var info="";   
  367.         var sId = this;   
  368.   
  369.         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:"国外"};   
  370.   
  371.         if(!/^\d{17}(\d|x)$/i.test(sId))   
  372.         {   
  373.                 return false;   
  374.         }   
  375.         sId=sId.replace(/x$/i,"a");   
  376.         //非法地区   
  377.         if(aCity[parseInt(sId.substr(0,2))]==null)   
  378.         {   
  379.                 return false;   
  380.         }   
  381.   
  382.         var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));   
  383.   
  384.         var d=new Date(sBirthday.replace(/-/g,"/"))   
  385.           
  386.         //非法生日   
  387.         if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))   
  388.         {   
  389.                 return false;   
  390.         }   
  391.         for(var i = 17;i>=0;i--)   
  392.         {   
  393.                 iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);   
  394.         }   
  395.   
  396.         if(iSum%11!=1)   
  397.         {   
  398.                 return false;   
  399.         }   
  400.         return true;   
  401.   
  402. }   
  403.   
  404. /*  
  405. ===========================================  
  406. //是否是有效的电话号码(中国)  
  407. ===========================================  
  408. */  
  409. String.prototype.isPhoneCall = function()   
  410. {   
  411.         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);   
  412. }   
  413.   
  414.   
  415. /*  
  416. ===========================================  
  417. //是否是数字  
  418. ===========================================  
  419. */  
  420. String.prototype.isNumeric = function(flag)   
  421. {   
  422.         //验证是否是数字   
  423.         if(isNaN(this))   
  424.         {   
  425.   
  426.                 return false;   
  427.         }   
  428.   
  429.         switch(flag)   
  430.         {   
  431.   
  432.                 case null:        //数字   
  433.                 case "":   
  434.                         return true;   
  435.                 case "+":        //正数   
  436.                         return                /(^\+?|^\d?)\d*\.?\d+$/.test(this);   
  437.                 case "-":        //负数   
  438.                         return                /^-\d*\.?\d+$/.test(this);   
  439.                 case "i":        //整数   
  440.                         return                /(^-?|^\+?|\d)\d+$/.test(this);   
  441.                 case "+i":        //正整数   
  442.                         return                /(^\d+$)|(^\+?\d+$)/.test(this);                          
  443.                 case "-i":        //负整数   
  444.                         return                /^[-]\d+$/.test(this);   
  445.                 case "f":        //浮点数   
  446.                         return                /(^-?|^\+?|^\d?)\d*\.\d+$/.test(this);   
  447.                 case "+f":        //正浮点数   
  448.                         return                /(^\+?|^\d?)\d*\.\d+$/.test(this);                          
  449.                 case "-f":        //负浮点数   
  450.                         return                /^[-]\d*\.\d$/.test(this);                  
  451.                 default:        //缺省   
  452.                         return true;                          
  453.         }   
  454. }   
  455.   
  456. /*  
  457. ===========================================  
  458. //是否是颜色(#FFFFFF形式)  
  459. ===========================================  
  460. */  
  461. String.prototype.IsColor = function()   
  462. {   
  463.         var temp        = this;   
  464.         if (temp=="") return true;   
  465.         if (temp.length!=7) return false;   
  466.         return (temp.search(/\#[a-fA-F0-9]{6}/) != -1);   
  467. }   
  468.   
  469. /*  
  470. ===========================================  
  471. //转换成全角  
  472. ===========================================  
  473. */  
  474. String.prototype.toCase = function()   
  475. {   
  476.         var tmp = "";   
  477.         for(var i=0;i<this.length;i++)   
  478.         {   
  479.                 if(this.charCodeAt(i)>0&&this.charCodeAt(i)<255)   
  480.                 {   
  481.                         tmp += String.fromCharCode(this.charCodeAt(i)+65248);   
  482.                 }   
  483.                 else  
  484.                 {   
  485.                         tmp += String.fromCharCode(this.charCodeAt(i));   
  486.                 }   
  487.         }   
  488.         return tmp   
  489. }   
  490.   
  491. /*  
  492. ===========================================  
  493. //对字符串进行Html编码  
  494. ===========================================  
  495. */  
  496. String.prototype.toHtmlEncode = function()   
  497. {   
  498.         var str = this;   
  499.   
  500.         str=str.replace(/&/g,"&amp;");   
  501.         str=str.replace(/</g,"&lt;");   
  502.         str=str.replace(/>/g,"&gt;");   
  503.         str=str.replace(/\'/g,"&apos;");   
  504.         str=str.replace(/\"/g,"&quot;");   
  505.         str=str.replace(/\n/g,"<br>");   
  506.         str=str.replace(/\ /g,"&nbsp;");   
  507.         str=str.replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");   
  508.   
  509.         return str;   
  510. }   
  511.   
  512. /*  
  513. ===========================================  
  514. //转换成日期  
  515. ===========================================  
  516. */  
  517. String.prototype.toDate = function()   
  518. {   
  519.         try  
  520.         {   
  521.                 return new Date(this.replace(/-/g, "\/"));   
  522.         }   
  523.         catch(e)   
  524.         {   
  525.                 return null;   
  526.         }   
  527. 0 0 0    

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值