写一个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()里的正则表达式