美文网首页
js常用正则

js常用正则

作者: 四月天__ | 来源:发表于2019-03-08 16:50 被阅读1次

    1、前端使用正则过滤输入内容中含有的表情符号

    https://www.cnblogs.com/zt-blog/p/6773854.html
    https://blog.csdn.net/libin_1/article/details/51483815

    const regStr = /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]
    [\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|
    [0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|
    [\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/ig;
    
    const testStr = "😃😃sssss";
    testStr.replace(regStr,"")
    

    上面的正则可以匹配iOS10.2.1及之前的全部emoji表情,Android的表情因为比较多,如上面的正则有遗漏,可自行补充。测试一个表情的编码方法如下:

    <input type="text" />
    
    
    var org_val = $("input").val();
    console.log(escape(org_val));
    //escape得到%uD83C%u.........格式的编码,可对应成\u...格式
    

    2、从html富文本中提取纯文本

    其实从html富文本中提取纯文本很简单,富文本基本上是使用html标签给文本加上丰富多彩的样式。

    所以只需要将富文本字符串中的<.....>标签剔除,即可得到纯文本。我们可以使用正则表达式,来匹配所有的html标签,并替换成空字符,如下:

    //html剔除富文本标签,留下纯文本

    function getSimpleText(html){
    const re1 = new RegExp("<.+?>","g");//匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
    const msg = html.replace(re1,'');//执行替换成空字符
    return msg;
    }
    

    3、去掉字符串的空格和换行

    //去除空格 
    String.prototype.Trim = function() { 
      return this.replace(/\s+/g, ""); 
    } 
    
    var feedbackContent = params.feedbackContent
      //去掉所有的换行符
      feedbackContent = feedbackContent.replace(/\r\n/g,"")
      feedbackContent = feedbackContent.replace(/\n/g,"");
      //去掉所有的空格(中文空格、英文空格都会被替换)
      feedbackContent = feedbackContent.replace(/\s+/g, "");
    

    相关文章

      网友评论

          本文标题:js常用正则

          本文链接:https://www.haomeiwen.com/subject/zwrroftx.html