JS中用正则扩展string的trim方法,里面的正则表达式是这样的(/(^\s*)(\s*$)/g, ""); 请问这代表啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中用正则扩展string的trim方法,里面的正则表达式是这样的(/(^\s*)(\s*$)/g, ""); 请问这代表啥意思相关的知识,希望对你有一定的参考价值。

(/(^\s*)|(\s*$)/g, "")这个里面有几个看不明白
他们的完整代码是这样的
String.prototype.trim=function()
return this.replace(/(^\s*)|(\s*$)/g, "");

^\s*这个是匹配字符串开始的0个或多个空格的,
\s*$这个是匹配字符串结尾的0个或多个空格的
但是在这之前有一个/符号,请问这个符号是干嘛的,我不用这个符号行么,写成这样
return this.replace((^\s*)|(\s*$)/g, "");,还有这里面的/g是什么意思,/g里面也用的是/而不是\,难道是要匹配/和g字符么

这是js正则表达式的写法,类似于perl。
正则表达式用两个/包起来,如果你需要匹配多次就在最后面加上/g。
参考技术A /正则表达式/g
表示 “全局匹配”!

原生JS正则实现trim()

Jquery中封装有trim()

原生需要自己实现,我们可以用原型的方式自己封装trim()方法,实现去掉前后空格、前空格、后空格...所以不必抱怨,简单又灵活,这才是强大的JS的特色

   String.prototype.trim=function(){
      return this.replace(/(^\s*)|(\s*$)/g, "");
   }

   String.prototype.ltrim=function(){
      return this.replace(/(^\s*)/g,"");
   }

   String.prototype.rtrim=function(){
      return this.replace(/(\s*$)/g,"");
   }

 

以上是关于JS中用正则扩展string的trim方法,里面的正则表达式是这样的(/(^\s*)(\s*$)/g, ""); 请问这代表啥意思的主要内容,如果未能解决你的问题,请参考以下文章

js判断字符串是否全为空(使用trim函数/正则表达式)

js实现trim函数

JS trim()方法使用

JS去除字符串前后空格的几种方法

01-JavaScript中去除字符串空格的方法

javascript 使用正则实现 trim方法