大家分享一個,就是在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個運算符的差別在于 == 在判斷相等的時候會進行類型的轉換,而 === 則不會進行類型轉換。
一、=== 運算符
=== 一般稱之為嚴格相等。用來判斷兩個操作數是否嚴格相等。
判斷規則:
首先判斷兩個操作數的類型是否一致,如果不一致就直接認為不等。
如果兩個操作數的類型一致,則再判斷內容是否相等。
"true" === true // 類型不一致, false
"0" === 0 //類型不一致 false
"1" === "1" //類型一致,并且內容也一致。 true
注意:
如果使用 === 判斷2個對象類型的數據,則直接判斷這 2 個對象是否為同一個對象。
如果一邊是對象類型,一邊是基本類型則一定不等。
{} === {} // 兩邊都是對象,但是不是同一個對象,所以 false
[] === [] // 兩邊都是對象,但是不是同一個對象,所以 false
[] === "" // 一變是對象類型,一邊是基本類型,所以false
二、==運算符
==運算符判斷相等,由于涉及到類型的強制轉換,所以最為復雜。
需要從4個方面來進行分析:
兩邊都是基本類型,且類型相同
兩邊都是對象
兩邊都是基本類型,但是類型不同
一邊是基本類型,一邊是對象
2.1兩邊都是基本類型,且類型相同
這個最簡單,就看內容是否相等即可。
2.2兩邊都是對象
這個也簡單,規則和 === 一樣,也是判斷兩個對象是否為同一個對象。
2.3兩邊都是基本類型,但是類型不同
這個規則比較復雜,很多人也記不住那么多的規則。
經過我的分析和總結,其實這個規則只有一條:
2.4一邊是基本類型,一邊是對象
這個規則也比較復雜,需要以2.3的規則為基礎。
經過我的分析和總結,其實規則只有 2 條:
這種情況比較的時候,都是先把對象轉換成基本類型再去比較!
先調用對象的valueOf方法,如果返回值值是基本類型的數據,就用這個返回的基本類型的數據去比較。
如果valueOf方法的返回值不是基本類型的數據,則調用toString方法,然后使用toString的返回值進行比較。
注意:關于valueOf和toString方法的說明:
這個兩個方法是在Object.prototype對象中定義的,所以所有的對象都會繼承這兩個方法。
默認情況下valueOf是返回的這個對象的本身(內部其實是返回的this)。
默認情況下toString返回的是字符串: [object Object]
但是有些內置對象 覆寫 了這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}$/進行匹配。這個正則表達式的含義是:
test方法是正則表達式的一個方法,它用于測試字符串是否匹配正則表達式。如果匹配,返回true,否則返回false。
請注意,手機號規則可能會隨著時間和地區的不同而變化,所以這個正則表達式可能需要根據實際情況進行調整。此外,這個函數只是一個基本的驗證,它不考慮手機號的運營商和地區的具體規則,也不檢查手機號是否真實注冊。在實際應用中,你可能需要更復雜的驗證邏輯,甚至可能需要與手機號服務提供商的API進行交互來驗證手機號的真實性。
一個也不是很懂得人弄得,若有不對的地方還請海涵
*請認真填寫需求信息,我們會在24小時內與您取得聯系。