整合營銷服務商

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

          免費咨詢熱線:

          Android中使用Html渲染的方式實現必填項前面的*號

          大家分享一個,就是在Android開發中,使用Html渲染的方式實現必填項*號,看這個怎么實現;

          在給大家分享之前,這里推薦下我自己建的Android開發技術分享交流平臺 :653961128,不管你是小白還是大牛,我都挺歡迎,不定期分享干貨,包括2017最新的Android企業案例學習資料和零基礎入門教程,歡迎初學和進階中的小伙伴,大家一起交流學習,共同進步。


          項目的個人基本信息UI界面效果圖如下,有一個紅色的*號,并且跟它挨著的文字顏色不一樣。我這里主要介紹一種有Html渲染的方式;

          1、Xml布局(只選取對應的部分)

          這里的*符號和文字其實也是公用一個TextView

          2、創建對應String資源

          這里可以單獨設置*符號和文字的顏色、加粗等操作

          <string name="tip_xinghao_nation">
           <Data>
           <![CDATA[<font color="#e60012"> *</font><font color="#189dde">民族 : </font>]]
           </Data>
          </string>

          3、java代碼中實現渲染

          到這里就可以實現效果圖里面的效果了,如果更改*符號和文字顏色和大小的時候,統一在String資源哪里更改就可以了。

          此次分享就到這里,如果大家有什么好的方法實現的話可以評論留言哦;喜歡我的可以關注我

          avaScript中共有2個個判斷相等的運算符 == 和 ===。

          這2個運算符的差別在于 == 在判斷相等的時候會進行類型的轉換,而 === 則不會進行類型轉換。

          一、=== 運算符

          === 一般稱之為嚴格相等。用來判斷兩個操作數是否嚴格相等。

          判斷規則:

          1. 首先判斷兩個操作數的類型是否一致,如果不一致就直接認為不等。

          2. 如果兩個操作數的類型一致,則再判斷內容是否相等。

          "true" === true // 類型不一致, false

          "0" === 0 //類型不一致 false

          "1" === "1" //類型一致,并且內容也一致。 true

          注意:

          1. 如果使用 === 判斷2個對象類型的數據,則直接判斷這 2 個對象是否為同一個對象。

          2. 如果一邊是對象類型,一邊是基本類型則一定不等。

          {} === {} // 兩邊都是對象,但是不是同一個對象,所以 false

          [] === [] // 兩邊都是對象,但是不是同一個對象,所以 false

          [] === "" // 一變是對象類型,一邊是基本類型,所以false

          二、==運算符

          ==運算符判斷相等,由于涉及到類型的強制轉換,所以最為復雜。

          需要從4個方面來進行分析:

          1. 兩邊都是基本類型,且類型相同

          2. 兩邊都是對象

          3. 兩邊都是基本類型,但是類型不同

          4. 一邊是基本類型,一邊是對象

          2.1兩邊都是基本類型,且類型相同

          這個最簡單,就看內容是否相等即可。

          2.2兩邊都是對象

          這個也簡單,規則和 === 一樣,也是判斷兩個對象是否為同一個對象。

          2.3兩邊都是基本類型,但是類型不同

          這個規則比較復雜,很多人也記不住那么多的規則。

          經過我的分析和總結,其實這個規則只有一條:

          2.4一邊是基本類型,一邊是對象

          這個規則也比較復雜,需要以2.3的規則為基礎。

          經過我的分析和總結,其實規則只有 2 條:

          這種情況比較的時候,都是先把對象轉換成基本類型再去比較!

          1. 先調用對象的valueOf方法,如果返回值值是基本類型的數據,就用這個返回的基本類型的數據去比較。

          2. 如果valueOf方法的返回值不是基本類型的數據,則調用toString方法,然后使用toString的返回值進行比較。

          注意:關于valueOf和toString方法的說明:

          1. 這個兩個方法是在Object.prototype對象中定義的,所以所有的對象都會繼承這兩個方法。

          2. 默認情況下valueOf是返回的這個對象的本身(內部其實是返回的this)。

          3. 默認情況下toString返回的是字符串: [object Object]

          4. 但是有些內置對象 覆寫 了這2個方法。

          console.log([1, 2].toString()); // "1,2" 返回的是數組的元素用,連接起來的字符串

          console.log(/a/gi.toString()); // "/a/gi" 正則表達式的字面量字符串

          console.log((function(){//注釋}).toString()); // "function(){//注釋}" 返回函數源碼

          console.log(new Number(10).toString()); // "10" 返回對應的基本類型的字面量形式

          console.log(({}).toString()); // "[object Object]"

          看下面的代碼:

          var obj1 = {

          name : "李四"

          }

          /*

          true:

          解析: 一邊是對象,一邊是字符串。則會把對象轉換成基本類型。

          先看valueOf ,默認返回的是 對象,所以再看toString 默認返回的是 "[object Object]" 所以是true

          */

          console.log(obj1 == "[object Object]"); // true

          var obj1 = {

          name : "李四",

          valueOf : function (){

          return 1;

          }

          }

          /*

          true:

          解析: 一邊是對象,一邊是number。則會把對象轉換成基本類型。 先看valueOf ,返回的是 number類型 1,所以用這個返回值去比較。

          */

          console.log(obj1 == 1); // true

          var obj1 = {

          name : "李四",

          valueOf : function (){ //覆寫

          return {};

          },

          toString : function (){ // 覆寫

          return this.name;

          }

          }

          /*

          true:

          解析: 一邊是對象,一邊是String。則會把對象轉換成基本類型。 先看valueOf ,返回的是 對象,所以調用toString,返回的是字符串 "李四"。

          */

          console.log(obj1 == "李四"); // true

          var arr = [1, 2];

          /*

          true:

          解析: 一邊是對象,一邊是字符串。則會把對象轉換成基本類型。 先看valueOf ,默認返回的是 對象,所以調用toString,返回的是字符串 "1,2"。

          */

          console.log(arr == "1,2"); // true

          var arr = [1, 2];

          arr.valueOf = function (){

          return true;

          }

          /*

          true:

          解析: 一邊是對象,一邊是字符串。則會把對象轉換成基本類型。 先看valueOf ,默認返回的是 布爾值 true,然后把true轉換成number 1,

          右邊是字符串,然后把字符串轉換number 1

          所以true

          */

          console.log(arr == "1");

          三、總結

          ===一句話總結:先看類型,類型相同再比較內容。類型不同,直接false

          ==一句話總結:不同基本類型,則都向numbe方向轉,然后比較。 一邊對象一邊基本類型,則對象先調用valueOf,再調用toString來轉成基本類型,再比較。

          JavaScript中,我們可以使用正則表達式來匹配手機號的模式。以下是一個基本的手機號驗證函數,它可以用來檢查一個字符串是否符合中國大陸的手機號格式。中國大陸的手機號一般為11位數字,且以1開頭,第二位是3、4、5、6、7、8、9中的一個,并且是13、14、15、16、17、18、19開頭的號碼。

          javascript


          function isValidChineseMobile(phone) {
            var regex = /^1[3-9]\d{9}$/;
            return regex.test(phone);
          }
          
          // 使用示例
          console.log(isValidChineseMobile("13800138000")); // 應返回 true
          console.log(isValidChineseMobile("12345678900")); // 應返回 false
          

          這個函數isValidChineseMobile接受一個字符串參數phone,使用正則表達式/^1[3-9]\d{9}$/進行匹配。這個正則表達式的含義是:

          • ^ 表示字符串的開始
          • 1 表示手機號以1開頭
          • [3-9] 表示第二個數字可以是3到9中的任意一個
          • \d{9} 表示接下來是9個數字
          • $ 表示字符串的結束

          test方法是正則表達式的一個方法,它用于測試字符串是否匹配正則表達式。如果匹配,返回true,否則返回false。

          請注意,手機號規則可能會隨著時間和地區的不同而變化,所以這個正則表達式可能需要根據實際情況進行調整。此外,這個函數只是一個基本的驗證,它不考慮手機號的運營商和地區的具體規則,也不檢查手機號是否真實注冊。在實際應用中,你可能需要更復雜的驗證邏輯,甚至可能需要與手機號服務提供商的API進行交互來驗證手機號的真實性。



          一個也不是很懂得人弄得,若有不對的地方還請海涵


          主站蜘蛛池模板: 亚洲一区精品无码| 国产中文字幕一区| 亚洲AV无码国产精品永久一区| 国产综合视频在线观看一区| 无码乱人伦一区二区亚洲| 卡通动漫中文字幕第一区| 国产一区二区成人| 国产精品无码一区二区三区电影| 午夜福利国产一区二区| 国产香蕉一区二区三区在线视频| 肉色超薄丝袜脚交一区二区| 亚洲一区爱区精品无码| 精品久久久久一区二区三区| 国产一区二区精品久久91| 无码av中文一区二区三区桃花岛| 麻豆果冻传媒2021精品传媒一区下载 | 亚洲性色精品一区二区在线| 国产a∨精品一区二区三区不卡| 国产在线视频一区| 中文字幕久久亚洲一区 | 久久高清一区二区三区| 国产一区二区三区高清在线观看 | 中文字幕一区二区三区人妻少妇| 亚洲一区在线视频| 亚洲欧洲日韩国产一区二区三区| 美女毛片一区二区三区四区| 精品亚洲AV无码一区二区| 国产99久久精品一区二区| 精品国产伦一区二区三区在线观看| 国产另类TS人妖一区二区| 国产在线aaa片一区二区99| 精品国产免费一区二区三区香蕉| 日产一区日产2区| 亚洲av无码一区二区三区不卡| 熟女精品视频一区二区三区| 精品国产伦一区二区三区在线观看 | 亚洲av日韩综合一区久热| 无码aⅴ精品一区二区三区| 精品乱人伦一区二区| 国产一在线精品一区在线观看| 中文字幕AV一区中文字幕天堂|