如何使用js正则 过滤某一个html标签下所有的标签跟样式呢?只保留出纯文本

如何使用js正则 过滤某一个html标签下所有的标签跟样式呢?只保留出纯文本,第1张

js过滤HTML标签的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html charset=utf-8" />

<title>无标题文档</title>

<script>

window.onload=function()

{

  var oTxt1=document.getElementById('txt1')

  var oTxt2=document.getElementById('txt2')

  var oBtn=document.getElementById('btn')

  oBtn.onclick=function()

  {

    var reg=/<[^<>]+>/g

    oTxt2.value=oTxt1.value.replace(reg,'')

  }

}

</script>

</head>

<body>

<textarea id="txt1" cols="40" rows="10"></textarea><br />

<input type="button" value="过滤" id="btn" /><br />

<textarea id="txt2" cols="40" rows="10"></textarea>

</body>

</html>

首先你要设定好文本框宽度,然后手动输入字符(最好用数字)来确定文本框有中能输入多少个数字。一个数字、一个英文字母 = 1个字节,一个汉字 = 2个字节

有了以上信息:我们就可以用js或jquery去获取文本框中的文本,计算文本框中有多少个字节。假设:文本框宽 = 30像素 实际可以写入10个数字也就是10个字节,多于10就超出文本框的款度。再假设文本框中输入:123abc字节数用js通进正则我们找出汉字个数 乘以 2 就是汉字所占的字节,加上非汉字的字符(全角符号也是2个字节),上例中一个有12个字节。我们知道现文本框中 >10字符就超出了文本框宽度。

1、如果是想用HTML做发送的内容及布局的话,那就不要用js

2、如果在发送邮件的时候将HTML文件作为附件的话,那是可以有js的

Java发送邮件需要用到JavaMail,先到Oracle官网上下载好最新版本的JavaMail(刚才看了一下,最新是1.5.3),把下载的这个jar文件放到classpath里(如果是Web项目,就放到WEB-INF/lib目录下。

JavaMail主要支持发送纯文本的和html格式的邮件。

java发送html格式邮件的具体实现:

 import javax.mail.internet.InternetAddress

 import javax.mail.internet.MimeMessage

 import javax.mail.internet.MimeUtility

 import javax.mail.Session

 import javax.mail.MessagingException

import javax.mail.Transport

 

public class SendHtmlMail {

     public static void sendMessage(String smtpHost,

                                    String from, String to,

                                    String subject, String messageText)

             throws MessagingException,java.io.UnsupportedEncodingException {

 

         // Step 1:  Configure the mail session

         System.out.println("Configuring mail session for: " + smtpHost)

         java.util.Properties props = new java.util.Properties()

         props.setProperty("mail.smtp.auth", "true")//指定是否需要SMTP验证

         props.setProperty("mail.smtp.host", smtpHost)//指定SMTP服务器

         props.put("mail.transport.protocol", "smtp")

         Session mailSession = Session.getDefaultInstance(props)

         mailSession.setDebug(true)//是否在控制台显示debug信息

 

         // Step 2:  Construct the message

         System.out.println("Constructing message -  from=" + from + "  to=" + to)

         InternetAddress fromAddress = new InternetAddress(from)

         InternetAddress toAddress = new InternetAddress(to)

 

         MimeMessage testMessage = new MimeMessage(mailSession)

         testMessage.setFrom(fromAddress)

         testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress)

         testMessage.setSentDate(new java.util.Date())

         testMessage.setSubject(MimeUtility.encodeText(subject,"gb2312","B"))

 

        testMessage.setContent(messageText, "text/htmlcharset=gb2312")

         System.out.println("Message constructed")

 

        // Step 3:  Now send the message

         Transport transport = mailSession.getTransport("smtp")

         transport.connect(smtpHost, "webmaster", "password")

         transport.sendMessage(testMessage, testMessage.getAllRecipients())

         transport.close()

 

         System.out.println("Message sent!")

     }

 

     public static void main(String[] args) {

 

         String smtpHost = "localhost"

         String from = "[email protected]"

         String to = "[email protected]"

         String subject = "html邮件测试" //subject javamail自动转码

 

         StringBuffer theMessage = new StringBuffer()

         theMessage.append("<h2><font color=red>这倒霉孩子</font></h2>")

         theMessage.append("<hr>")

         theMessage.append("<i>年年失望年年望</i>")

         try {

            SendHtmlMail.sendMessage(smtpHost, from, to, subject, theMessage.toString())

         }

         catch (javax.mail.MessagingException exc) {

             exc.printStackTrace()

         }

         catch (java.io.UnsupportedEncodingException exc) {

             exc.printStackTrace()

         }

     }

 }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7025830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-31
下一篇 2023-03-31

发表评论

登录后才能评论

评论列表(0条)

保存