javascript常用自定义字符串处理函数

简介:

下面是我在web开发中常用的字符串处理函数,一般用于输入校验

 

 
  1. /*  
  2.  
  3.  * 去除前后空白字符  
  4.  
  5.  * @author yifangyou  
  6.  
  7.  * @use " bv ".trim()  
  8.  
  9.  * @version gslb 2011-01-16  
  10.  
  11.  * */ 
  12.  
  13. String.prototype.trim = function()  
  14.  
  15. {  
  16.  
  17.     return this.replace(/(^\s*)|(\s*$)/g, "");  
  18.  
  19. }  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27. /*  
  28.  
  29.  * 判断是否以某字符串结尾  
  30.  
  31.  * @author yifangyou  
  32.  
  33.  * @use " bv a".endswith("a")  
  34.  
  35.  * @version gslb 2011-01-16  
  36.  
  37.  * */ 
  38.  
  39. String.prototype.endswith = function(findstr)  
  40.  
  41. {  
  42.  
  43.     if(this.length-findstr.length<0){  
  44.  
  45.             return false;      
  46.  
  47.     }  
  48.  
  49.   if(this.lastIndexOf(findstr)==this.length-findstr.length){  
  50.  
  51.         return true;  
  52.  
  53.     }  
  54.  
  55.     return false;  
  56.  
  57. }  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. /*  
  64.  
  65.  * 只能输入英文数字.-下划线  
  66.  
  67.  * @param str input的value  
  68.  
  69.  * @use <input onkeyup="value=filterchar(value)" onafterpaste="value=filterchar(value)" />  
  70.  
  71.  * @author yifangyou  
  72.  
  73.  * @version gslb 2011-01-16  
  74.  
  75.  * */ 
  76.  
  77. function filterchar(str){  
  78.  
  79.     var p=/[^\w\-\.]/g  
  80.  
  81.     return str.replace(p,'');  
  82.  
  83. }  
  84.  
  85.  
  86.  
  87. /*  
  88.  
  89.  * 过滤特殊字符  
  90.  
  91.  * @param str input的value  
  92.  
  93.  * @use <input onkeyup="value=filterschar(value)" onafterpaste="value=filterschar(value)" />  
  94.  
  95.  * @author yifangyou  
  96.  
  97.  * @version gslb 2011-01-16  
  98.  
  99.  * */ 
  100.  
  101. function filterschar(str){  
  102.  
  103.         var p=/[\'\"#,;&%^\$!\+=\|\\\/ ]/g  
  104.  
  105.         return str.replace(p,'');  
  106.  
  107. }  
  108.  
  109.  
  110.  
  111. /*  
  112.  
  113.  * 过滤特殊字符 剔除,\除外  
  114.  
  115.  * @param str input的value  
  116.  
  117.  * @use <input onkeyup="value=filterschar2(value)" filterschar2="value=filterschar2(value)" />  
  118.  
  119.  * @author yifangyou  
  120.  
  121.  * @version gslb 2011-01-16  
  122.  
  123.  * */ 
  124.  
  125. function filterschar2(str){  
  126.  
  127.         var p=/[\'\"#,;&%^\$!\+=\|\\ ]/g  
  128.  
  129.         return str.replace(p,'');  
  130.  
  131. }  
  132.  
  133.  
  134.  
  135. /*  
  136.  
  137.  * 过滤中文和特殊字符  
  138.  
  139.  * @param str input的value  
  140.  
  141.  * @use <input onkeyup="value=filterchinese(value)" onafterpaste="value=filterchinese(value)" />  
  142.  
  143.  * @author yifangyou  
  144.  
  145.  * @version gslb 2011-01-16  
  146.  
  147.  * */ 
  148.  
  149. function filterchinese(str){  
  150.  
  151.         var p=/[\u4E00-\u9FA5\'\",&%^\$!\+=\|\\\/]/g  
  152.  
  153.         return str.replace(p,'');  
  154.  
  155. }  
  156.  
  157.  
  158.  
  159. /*  
  160.  
  161.  * 只允许输入中英文 "_" "-"  
  162.  
  163.  * @param str input的value  
  164.  
  165.  * @use <input onkeyup="value=filterschar2(value)" filterschar2="value=filterOnlyCE(value)" onafterpaste="value=filterOnlyCE(value)"/>  
  166.  
  167.  * @author yifangyou  
  168.  
  169.  * @version gslb 2011-01-16  
  170.  
  171.  * */ 
  172.  
  173. function filterOnlyCE(str){  
  174.  
  175.     var p=/[^\u4E00-\u9FA5\w\-]/g  
  176.  
  177.         return str.replace(p,'');  
  178.  
  179. }  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187. /*  
  188.  
  189.  * 只能输入数字  
  190.  
  191.  * @param str input的value  
  192.  
  193.  * @use <input onkeyup="value=filterNumeric(value)" onafterpaste="value=filterNumeric(value)" />  
  194.  
  195.  * @author yifangyou  
  196.  
  197.  * @version gslb 2011-01-16  
  198.  
  199.  * */ 
  200.  
  201. function filterNumeric(str){  
  202.  
  203.     var p=/[\D]/g  
  204.  
  205.     return str.replace(p,'');  
  206.  

 




     本文转自yifangyou 51CTO博客,原文链接:http://blog.51cto.com/yifangyou/615896,如需转载请自行联系原作者

相关文章
|
14天前
|
前端开发 JavaScript
使用JavaScript实现复杂功能:构建一个自定义的拖拽功能
使用JavaScript实现复杂功能:构建一个自定义的拖拽功能
|
21天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
21天前
|
JavaScript
常见函数的4种类型(js的问题)
常见函数的4种类型(js的问题)
11 0
|
22天前
|
JavaScript
写一个函数将N组<>(包含开始和结束),进行组合,并输出组合结果 (js)
写一个函数将N组<>(包含开始和结束),进行组合,并输出组合结果 (js)
9 0
|
1月前
|
自然语言处理 JavaScript 网络架构
js开发:请解释什么是ES6的箭头函数,以及它与传统函数的区别。
ES6的箭头函数以`=&gt;`定义,简化了函数写法,具有简洁语法和词法作用域的`this`。它无`arguments`对象,不能用作构造函数,不支持`Generator`,且不改变`this`、`super`、`new.target`绑定。适用于简短表达式,常用于异步编程和高阶函数。
18 5
|
1月前
|
JavaScript 前端开发 网络架构
JavaScript 谈谈对箭头函数的理解及其与普通函数的区别。
JavaScript 谈谈对箭头函数的理解及其与普通函数的区别。
17 1
|
1月前
|
前端开发 JavaScript 数据处理
在JavaScript中,什么是异步函数执行的例子
在JavaScript中,什么是异步函数执行的例子
10 0
|
1月前
|
JavaScript
JS封装节流函数
JS封装节流函数
15 0
|
1月前
|
JavaScript 前端开发
javascript箭头函数
javascript箭头函数
|
1月前
|
JavaScript 小程序
微信小程序 wxml 中使用 js函数
微信小程序 wxml 中使用 js函数
72 0