Android项目使用到的正则表达式详细介绍和示例说明

2024-04-10 09:45 Android项目使用到的正则表达式详细介绍和示例说明已关闭评论

Android项目中,正则表达式主要用于字符串的验证和匹配,可以帮助开发者实现复杂的字符串格式验证功能,例如校验用户输入的电话号码、邮箱地址、身份证号、密码强度等。下面列举一些常见的正则表达式示例及说明:

示例1:手机号码验证(中国大陆11位手机号)


^1[3-9]\d{9}$

  • ^ 表示匹配输入字符串的开始

  • 1 表示手机号必须以1开头

  • [3-9] 表示第二位数字介于3至9之间,这是中国大陆移动电话号码的特征

  • \d{9} 表示之后跟随9位数字

  • $ 表示匹配输入字符串的结束

示例2:邮箱地址验证


^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

  • ^[a-zA-Z0-9._%+-]+ 匹配邮箱用户名,可包含字母、数字、点、下划线、百分号、加减号

  • @ 必须包含一个@符号

  • [a-zA-Z0-9.-]+ 匹配主机名,可包含字母、数字、点和短横线

  • \. 必须包含一个英文句点作为顶级域名分隔符

  • [a-zA-Z]{2,} 匹配二级及以上域名,至少包含2个字母

示例3:密码强度验证(至少6位,包含数字和字母)


^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,}$

  • (?=.*[A-Za-z]) 正向预查,确认存在至少一个字母

  • (?=.*\d) 正向预查,确认存在至少一个数字

  • [A-Za-z\d]{6,} 匹配至少6个字符,这些字符可以是字母或数字

在Android项目中,利用正则表达式进行验证的通用步骤如下:


import java.util.regex.Pattern;

import java.util.regex.Matcher;



public class RegexUtils {



    public static boolean isPhoneNumberValid(String phoneNumber) {

        String regex = "^1[3-9]\\d{9}$";

        Pattern pattern = Pattern.compile(regex);

        Matcher matcher = pattern.matcher(phoneNumber);

        return matcher.matches();

    }



    public static boolean isEmailValid(String email) {

        String regex = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";

        Pattern pattern = Pattern.compile(regex);

        Matcher matcher = pattern.matcher(email);

        return matcher.matches();

    }



    public static boolean isPasswordValid(String password) {

        String regex = "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{6,}$";

        Pattern pattern = Pattern.compile(regex);

        Matcher matcher = pattern.matcher(password);

        return matcher.matches();

    }

}

以上代码展示了如何在Android项目中定义静态方法来验证不同类型的字符串。在实际使用时,只需调用对应的方法并传入待验证的字符串即可得到验证结果。请注意,对于不同的应用场景,正则表达式可能会有所不同,应根据具体的业务需求来定制。

当前文章价值1.72元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://www.teachcourse.cn/3228.html ,谢谢支持!

资源分享

分类:Android 标签:, ,
Android图片getDrawable对象渲染主题颜色 Android图片getDrawable对象渲
Python使用pymysql封装数据库访问类 Python使用pymysql封装数据库访
php类定义详细介绍 php类定义详细介绍
集合BroadcastReceiver和Service制作的音乐播放器 集合BroadcastReceiver和Serv

评论已关闭!