写一个function 清除字符串前后空格,要支持所有浏览器

 1 window.onload = function(){
 2   if(!String.prototype.trim){
 3     String.prototype.trim = function(){
 4         return this.replace(/^\s+/,"").replace(/\s+$/,""); 
 5     }
 6 }
 7 var te = document.getElementById('te');
 8 
 9 var btn = document.getElementById('btn')
10 
11 btn.onclick = function(){
12    var p = te.value.trim()
13   
14    
15   console.log(p)
16 
17 }
18 
19 }

说一下 :trim()方法,这个就是用来清除前后空格的,直接使用这个方法就可以了 如 var p = te.value.trim()

但是,要考虑兼容问题,trim()在IE8及以下时,没有这个方法 

所以要做个判断,如果if 这个字符串类型的原型中,没有trim()方法(也就知道了,此时是ie8及以下浏览器) 既然没有这个方法,那我就添加一个trim()方法,虽然ie8及以下没有,但是他们有正则表达式,我把trim()方法改写成正则表达式

就变成了,如果原型中trim 那if里就不执行,直接执行trim()方法,如果原型中没有trim()就执行if()里的正则表达式

原文地址:https://www.cnblogs.com/kanchai/p/13362402.html