整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

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进行交互来验证手机号的真实性。



一个也不是很懂得人弄得,若有不对的地方还请海涵