对一些如“手机号”,“身份证号”,“金额”,以及对字符串的截取和替换、转换等操作
/**
* 对手机号码进行处理,
* 最新手机号码处理正则
*/
fun phoneNumber(str: String): Boolean {
val regExp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,1,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"
val p: Pattern = Pattern.compile(regExp)
val m = p.matcher(str)
return m.matches()
}
/**
* 正则表达式:验证身份证
* @param idCard
* @return 校验通过返回true,否则返回false
*/
val REGEX_ID_CARD = "(^\\d{15}$)|(^\\d{17}([0-9]|X)$)"
fun isIDCard( idCard:String):Boolean {
return Pattern.matches(REGEX_ID_CARD, idCard)
}
/**
* 隐藏手机密码中间四位
*/
fun phoneNum_hide(phoneNme: String): String {
return phoneNme.substring(0, 3) + "****" + phoneNme.substring(7, phoneNme.length)
}
/**
* double转String,保留小数点后两位
* @param num
* @return
*/
fun doubleToString(num:Double):String{
//使用0.00不足位补0,#.##仅保留有效位
return DecimalFormat("0.00").format(num)
}
/**
* 截取字符串
*/
fun subString(str: String,start: Int,end: Int): String{
return str.substring(start,end)
}
/**
* 截取获得某个字符之前的字符串
* @param str 需要截取的字符串
* @param s 字符
*/
fun sbuStringBefore(str: String,s: String): String{
return str.substring(0, str.indexOf(s))
}
/**
* 获取截取之后的字符
* @param str 需要截取的字符串
* @param s 字符
*/
fun sbuStringAfter(str: String,s: String): String{
return str.substring(str.indexOf(s))
}
/**
* 字符串转数组
*/
fun stringAndarray(str: String?,s: String): ArrayList<String>?{
val list: ArrayList<String> = arrayListOf()
val split = str?.split(s)
for (i in split!!.indices) {
list.add(split[i])
}
return list
}
/**
* 2019-12-31 转换成2019年12月31日
* @param str 需要截取的字符串
* @param s 字符
*/
fun dateReplace(str: String): String{
val p = Pattern.compile("-")
val temp = p.split(str)
val ss = temp[0]+"年"+ temp[1]+"月"+temp[2]
return ss
}
网友评论