整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript字符串轉換為其他類型(五)

          JavaScript字符串轉換為其他類型(五)

          錄:

          1. 為什么要數據類型轉換?
          2. 數據類型怎么轉換?

          一、為什么要數據類型轉換?

          上節課咱們講到了數據類型好比人的職業一樣,那么人一輩子有可能在職業生涯中轉型,比如程序員轉型成銷售人員,醫生轉型成司機。那么數據類型轉換就差不多這個意思,比如一個數值類型想要轉換成字符串類型,那么我們就要采用數據類型轉換了。

          二、數據類型怎么轉換?

          1. 其他類型轉換成【數值類型】:使用Number、parseInt、parseFloat
          
          
          
          	
          
          
          
          <script type="text/javascript">
          
          var str='1';//字符串類型
          var num1=Number(str);//變成了數值類型
          var num2=parseInt(str);//變成了數值類型
          var num3=parseFloat(str);//變成了數值類型
          
          console.log(typeof(num1) , typeof(num2) ,typeof(num3))
          
          </script>
          
          
          

          2. 其他類型轉換成【字符串類型】:使用String、toString

          
          
          
          	
          
          
          
          <script type="text/javascript">
          
          var num=123;//數值類型
          var str1=String(num);//變成了字符串類型
          var str2=num.toString();//變成了字符串類型
          
          console.log(typeof(str1) , typeof(str2) )
          
          </script>
          
          
          

          3. 其他類型轉換成【布爾類型】:使用Boolean

          
          
          
          	
          
          
          
          <script type="text/javascript">
          
          var num=123;//數值類型
          var bool1=Boolean(num);//變成了布爾類型
          
          console.log(typeof(bool1))
          
          </script>
          
          
          

          下節預告:運算符之算術運算符

          法一:使用StringBuilder或StringBuffer

          最簡單且高效的方法是使用StringBuilder或StringBuffer類來反轉字符串。這兩個類提供了reverse()方法,可以方便地實現字符串的反轉。

          String str="Hello, World!";

          StringBuilder sb=new StringBuilder(str);

          String reversedStr=sb.reverse().toString();

          System.out.println(reversedStr);

          通過調用StringBuilder的reverse()方法,我們可以得到一個反轉后的字符串。注意,由于reverse()方法返回的是StringBuilder對象,需要通過toString()方法將其轉換成字符串。

          方法二:使用遞歸

          遞歸是一種有效的反轉字符串的方法。我們可以定義一個遞歸函數,每次取字符串的最后一個字符,并將其與剩余部分連接起來。

          public static String reverseString(String str) {

          if (str.isEmpty())

          return str;

          return reverseString(str.substring(1)) + str.charAt(0);

          }

          String str="Hello, World!";

          String reversedStr=reverseString(str);

          System.out.println(reversedStr);

          通過不斷調用自身并取子字符串,我們可以逐步反轉整個字符串。這種方法雖然簡單,但當處理大量字符串時可能會導致堆棧溢出的問題,因此需謹慎使用。

          方法三:使用字符數組

          另一種常見的反轉字符串的方法是將字符串轉換為字符數組,然后利用循環或交換元素的方式實現反轉。

          public static String reverseString(String str) {

          char[] charArray=str.toCharArray();

          int start=0;

          int end=str.length() - 1;

          while (start < end) {

          char temp=charArray[start];

          charArray[start]=charArray[end];

          charArray[end]=temp;

          start++;

          end--;

          }

          return new String(charArray);

          }

          String str="Hello, World!";

          String reversedStr=reverseString(str);

          System.out.println(reversedStr);

          將字符串轉換為字符數組后,我們可以使用兩個指針分別指向數組的首尾,并依次交換對應位置的元素。通過循環遍歷,最終得到反轉后的字符串。

          方法四:使用Collections.reverse()

          如果你希望使用Java提供的現成方法來反轉字符串,可以利用Collections類的reverse()方法。該方法可以反轉List類型的集合,因此我們可以先將字符串轉換為字符列表,然后調用reverse()方法進行反轉。

          String str="Hello, World!";

          List charList=new ArrayList<>();

          for (char c : str.toCharArray()) {

          charList.add(c);

          }

          Collections.reverse(charList);

          StringBuilder sb=new StringBuilder();

          for (Character c : charList) {

          sb.append(c);

          }

          String reversedStr=sb.toString();

          System.out.println(reversedStr);

          通過將字符串轉換為字符列表,并利用Collections.reverse()方法對其進行反轉,我們可以得到一個反轉后的字符串。最后,使用StringBuilder來拼接字符列表中的元素,得到最終結果。

          HTML標簽相關的字符串格式化

          string nl2br ( string $string )

          nl2br() 就是將\n 替換成 <br> //javascript對\n才能夠執行換行,對</br>是不能執行換行

          htmlspecialchars() 把一些預定義的字符轉換為 HTML 實體。

          string htmlspecialchars(string,quotestyle,[character-set])

          轉換以下字符及對應的實體

          & (和號) 成為 &
          " (雙引號) 成為 "
          ' (單引號) 成為 '
          < (小于) 成為 <
          > (大于) 成為 >

          第二個參數: ENT_COMPAT 只轉換雙引號, 保留單引號, 為默認值 compat: 兼容性

          ENT_QUOTES 同時轉換兩種引號 quotes: 引號

          ENT_NOQUOTES 不對引號進行轉換

          <html>
          <body>
          <?php
          $str="John & \" 'Adams'";
          echo htmlspecialchars($str, ENT_COMPAT);
          echo "<br />";
          echo htmlspecialchars($str, ENT_QUOTES);
          echo "<br />";
          echo htmlspecialchars($str, ENT_NOQUOTES);
          ?>
          </body>
          </html>

          輸出結果:John & " 'Adams'

          John & " 'Adams'

          John & " 'Adams'

          htmlentities() 可以將所有的非ASCII碼字符轉換為對應的實體代碼;除字母、數字、\外, 漢字和鍵盤上其他字符都轉換

          <?php
          $str="A 'quote' \" is <b>bold</b>" ;
          echo htmlentities ( $str ); // 輸出后源代碼: A 'quote' is <b>bold</b>
          echo htmlentities ( $str , ENT_QUOTES ); // 輸出后源代碼: A 'quote' is <b>bold</b>
          ?>

          返回的結果:A 'quote' "is <b>bold</b>

          A 'quote' "is <b>bold</b>

          注意: htmlspecialchars()和htmlentities作用直接輸出HTML腳本

          htmlspecialchars()和htmlentities()函數對于轉義字符"\"處理,不會轉義實體代碼,要么當轉義字符對待,要么原樣輸出;

          PHP中htmlentities和htmlspecialchars的區別

          這兩個函數的功能都是轉換字符為HTML字符編碼, 特別是url和代碼字符串。防止字符標記被瀏覽器執行。

          使用中文時沒什么區別, 但htmlentities會格式化中文字符使得中文輸入是亂碼。

          htmlentities轉換所有的html標記, htmlspecialchars只格式化& ' " < 和 > 這幾個特殊符號

          addslashes() 在指定的預定義字符前添加反斜杠。

          這些預定義字符是:單引號 (') 雙引號 (") 反斜杠 (\) NULL字符(\x00)

          提示:該函數可用于為存儲在數據庫中的字符串以及數據庫查詢語句準備合適的字符串。

          注釋:默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE數據自動運行 addslashes()。

          不要對已經被magic_quotes_gpc轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義。

          遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。(如:$c=(!get_magic_quotes_gpc())?addslashes($c):$c;)

          在本例中,我們要向字符串中的預定義字符添加反斜杠:

          <?php
          $str="Who's John Adams?";
          echo $str . " This is not safe in a database query.<br />";
          echo addslashes($str) . " This is safe in a database query.";
          ?>

          輸出:

          Who's John Adams? This is not safe in a database query.

          Who\'s John Adams? This is safe in a database query.

          <?php
          header("Content-type:text/html; charset=utf-8");
          $str="wo are \x0a studying \x00 php";
          echo $str;
          echo "<br>";
          echo addslashes($str);
          ?>

          輸出:

          wo are studying php

          wo are studying >wo are studying \0 php< php



          stripslashes() 刪除反斜線("\")

          在提交的表單數據中 ' " \ 等字符前被自動加上一個\ ,這是配置文件php.ini中選項magic_quotes_gpc在起作用,

          默認是打開的,如果不處理則將數據保存到數據庫時,有可能會被數據庫誤當成控制符號而引起錯誤。

          通常htmlspecialchars()和stripslashes()函數復合的方式,聯合處理表單中的提交的數據htmlspecialchars(stripslashes())

          strip_tags()

          string strip_tags ( string $str [, string $allowable_tags ] )

          剝去 HTML、XML 以及 PHP 的標簽。

          <?php
          echo strip_tags("Hello <b><i>world!</i></b>","<b>");
          ?>

          輸出結果:Hello world!

          實例:

          <?php
          $str="<b>webserver;</b> & \ 'Linux' & Apache";
          echo "$str"; //直接輸出
          echo "<br/>";
          echo htmlspecialchars($str,ENT_COMPAT); //只轉換雙引號,為默認參數
          echo "<br />";
          echo htmlspecialchars($str,ENT_NOQUOTES); //不對引號進行轉換
          echo "<br />";
          echo htmlspecialchars($str,ENT_QUOTES); //同時轉換單引號和雙引號
          echo "<br />";
          echo htmlentities($str); //將所有的非ASCII碼字符轉換為對應的實體代碼
          echo "<br />";
          echo addslashes($str); //將" ' \ 字符前添加反斜線
          echo "<br />";
          echo stripslashes($str); //刪除反斜線
          echo "<br />";
          echo strip_tags($str); //刪除<html>標記
          ?>

          輸出結果:

          webserver; & \ 'Linux' & Apache


          主站蜘蛛池模板: 少妇人妻精品一区二区三区| 一区二区三区四区视频在线| 欧美av色香蕉一区二区蜜桃小说| 中文字幕精品一区二区精品| 国产精品亚洲产品一区二区三区 | 国产激情无码一区二区app| 无码人妻一区二区三区精品视频| 国产一区二区在线| 精品亚洲福利一区二区| 国产AV天堂无码一区二区三区| 精品一区二区三区免费毛片| 影院无码人妻精品一区二区| 国产福利电影一区二区三区久久久久成人精品综合 | 人妻体体内射精一区二区| 日本免费一区二区三区四区五六区 | 亚洲国产精品综合一区在线| 国产精品夜色一区二区三区 | 日本精品一区二区三本中文| 视频一区视频二区在线观看| 精品人妻少妇一区二区三区| 精品视频一区二区三区在线观看| 久久一区二区三区免费播放| 国产精品视频一区二区猎奇| 波多野结衣一区二区免费视频 | 国产一区二区草草影院| 加勒比精品久久一区二区三区| 狠狠做深爱婷婷综合一区| 久久久91精品国产一区二区| 亚洲AV无码一区二区大桥未久| 国产一区二区三区内射高清| 国产日韩高清一区二区三区 | 一区二区三区四区无限乱码| 国产一区二区三区久久| 国产福利微拍精品一区二区 | 亚洲AV日韩综合一区尤物| 国产在线一区二区视频| 国产一区麻豆剧传媒果冻精品| 亚洲福利视频一区| 国产日韩精品一区二区在线观看播放 | 精品福利一区二区三区免费视频| 国产麻豆媒一区一区二区三区|