android中用于电子邮件、用户名和;手机号码

android中用于电子邮件、用户名和;手机号码,android,regex,Android,Regex,我想在我的android应用程序中使用regex来验证一些字段 用户名: 1大写字母[A-Z],2数字[0-9],1特殊字符any,然后后跟小字符[A-Z]和lenth将是10最大字符数 电邮地址: 最后一页中必须包含@google.com 流动电话: 必须是+91,然后是10位数字 如何为所有三个字段形成正则表达式模式?请参见下面的电子邮件验证链接,您可以修改用户名验证和电话号码验证的部分代码 您可以找到密码、电子邮件等所需的正则表达式 用户名: ^[a-z0-9_-]{3,15}$ ^#线路

我想在我的android应用程序中使用regex来验证一些字段

用户名:
1
大写字母[A-Z],
2
数字[0-9],
1
特殊字符any,然后后跟小字符[A-Z]和lenth将是
10
最大字符数

电邮地址: 最后一页中必须包含@google.com

流动电话: 必须是+91,然后是10位数字


如何为所有三个字段形成正则表达式模式?

请参见下面的电子邮件验证链接,您可以修改用户名验证和电话号码验证的部分代码


您可以找到密码、电子邮件等所需的正则表达式

用户名:

^[a-z0-9_-]{3,15}$

^#线路起点

[a-z0-9_-]#匹配列表中的字符和符号,a-z,0-9 ,下划线,连字符

{3,15}#长度至少为3个字符,最大长度为15

$#线路的尽头

邮箱地址:

电子邮件ID的注册表:

^[A-Za-z][A-Za-z0-9]*([.-]?[A-Za-z0-9]+)@[A-Za-z].[A-Za-z]{0,3}?[A-Za-z]{0,2}$

接受值为:

  • hdf4。j8k@bfv.djf
  • ds。sd@c25v.fdv
  • dv_sdv@fvv
  • 视频显示器-f@jn.fdv
  • jfk@mbf.khb.in
n等

适用于手机号码的正则表达式:

^[7-9][0-9]{9}$

适用于印度手机号码

固定电话号码的正则表达式:

^[0-9]{3,5}-[2-9]{1}[0-9]{5,7}$

用于印度地区代码为的固定电话号码

例如:022-58974658移动电话:

Must be +91 and after that 10 digit.
^[7-9][0-9]{9}$仅对手机号码有用。但是对于国家代码,我们应该使用类似regex的^[+(00)][0-9]{6,14}$

差不多

(一)

(二)


第一个是正确的,因为它有国家代码,但第二个是错误的,因为它没有任何国家代码

您可以使用Patterns类验证电子邮件、手机号码等因素。 以下是方法:

public static boolean isValidEmail(CharSequence target) {
    return (!TextUtils.isEmpty(target) && Patterns.EMAIL_ADDRESS.matcher(target).matches());
}

public static boolean isValidMobile(CharSequence target) {
    return (!TextUtils.isEmpty(target) && Patterns.PHONE.matcher(target).matches());
}

希望它能对您有所帮助。

我如何设置特殊字符验证?@user1642834请查看该问题的答案。不需要标志,只需在if内返回true,在if外返回false。同时为用户名和手机号码设置正则表达式。此正则表达式匹配
aaa@%§
,不确定它是否是有效的电子邮件地址!
String phoneNumber = "+919900990000"
if(phoneNumber.matches("^[+(00)][0-9]{6,14}$")){
   //True
  String phoneNumber = "9900990000"
  if(phoneNumber.matches("^[+(00)][0-9]{6,14}$")){
   //False
public static boolean isValidEmail(CharSequence target) {
    return (!TextUtils.isEmpty(target) && Patterns.EMAIL_ADDRESS.matcher(target).matches());
}

public static boolean isValidMobile(CharSequence target) {
    return (!TextUtils.isEmpty(target) && Patterns.PHONE.matcher(target).matches());
}