(android)相关正则技巧记录

2018-05-04  本文已影响0人  初见soulmate

1 判断是否手机号码:

/**
 * 方法名: isPhoneNumber
 * 参数:String
 * 返回值:boolean
 * 方法作用:判断参数字符串是否为电话格式
 */

fun isPhoneNumber(phoneStr: String): Boolean {
    //定义电话格式的正则表达式
    val regex = "((\\d{11})|^((\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1})|(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1}))$)"
    //设定查看模式
    val p = Pattern.compile(regex)
    //判断Str是否匹配,返回匹配结果
    val m = p.matcher(phoneStr)
    return m.find()
}

2 电话号码星号转换:

/**
 *电话号码星号转换
 */
fun phoneWithStar(phone: String?): String? {
    val length = phone?.length
    return if (length!! >= 7) {
        phone?.replace("(?<=\\d{3})\\d(?=\\d{4})".toRegex(), "*")
    } else {
        phone
    }
}

未完待续。。。

上一篇下一篇

猜你喜欢

热点阅读