当前位置: 首页 > wzjs >正文

网站设计多少钱市场价哪个平台做推广效果好

网站设计多少钱市场价,哪个平台做推广效果好,可以做软件的网站,做第三方网站注意什么目录 身份证号的正则表达式 代码解释 正则表达式 方法 isValidIDCard 注意事项 校验邮箱的正则表达式 代码解释 正则表达式 方法 isValidEmail 注意事项 手机号的正则表达式 中国大陆手机号校验(支持空字符串) 代码解释 通用手机号校验&am…

目录

身份证号的正则表达式

代码解释

正则表达式

方法 isValidIDCard

注意事项

校验邮箱的正则表达式

代码解释

正则表达式

方法 isValidEmail

注意事项

手机号的正则表达式

中国大陆手机号校验(支持空字符串)

代码解释

通用手机号校验(支持空字符串)

代码解释

注意事项


身份证号的正则表达式

若要在 Java 里使用正则表达式校验身份证号,同时允许输入为空字符串,可在原有的身份证号校验正则表达式基础上,增加对空字符串的匹配。以下是示例代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class IDCardValidatorWithEmpty {// 定义支持空字符串的身份证号校验的正则表达式private static final String ID_CARD_REGEX = "^$|(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)";private static final Pattern ID_CARD_PATTERN = Pattern.compile(ID_CARD_REGEX);/*** 校验身份证号的方法,允许空字符串* @param idCard 待校验的身份证号* @return 如果身份证号格式正确或者为空字符串返回 true,否则返回 false*/public static boolean isValidIDCard(String idCard) {Matcher matcher = ID_CARD_PATTERN.matcher(idCard);return matcher.matches();}public static void main(String[] args) {// 测试用的 15 位身份证号String idCard15 = "110105880620517";// 测试用的 18 位身份证号String idCard18 = "11010519880620517X";// 无效的身份证号String invalidIdCard = "123456789012345678";// 空字符串String emptyIdCard = "";// 调用校验方法并输出结果System.out.println(idCard15 + " 是否为有效的身份证号: " + isValidIDCard(idCard15));System.out.println(idCard18 + " 是否为有效的身份证号: " + isValidIDCard(idCard18));System.out.println(invalidIdCard + " 是否为有效的身份证号: " + isValidIDCard(invalidIdCard));System.out.println("空字符串是否允许: " + isValidIDCard(emptyIdCard));}
}
代码解释
正则表达式
^$|(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)
  • ^$:用于匹配空字符串,^ 代表字符串起始位置,$ 代表字符串结束位置,二者结合就表示空字符串。
  • |:这是逻辑或运算符,用于分隔不同的匹配规则。
  • (^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$):此部分用于匹配 15 位身份证号,详细解释如下:
    • [1-9]\\d{7}:身份证号前 8 位,首位不能为 0。
    • ((0\\d)|(1[0-2])):表示月份,范围是 01 - 12。
    • (([0|1|2]\\d)|3[0-1]):表示日期,范围是 01 - 31。
    • \\d{3}:最后 3 位顺序码。
  • (^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$):用于匹配 18 位身份证号,具体解释如下:
    • [1-9]\\d{5}:前 6 位地区代码,首位不能为 0。
    • [1-9]\\d{3}:接下来 4 位年份,首位不能为 0。
    • ((0\\d)|(1[0-2])) 和 (([0|1|2]\\d)|3[0-1]):分别表示月份和日期。
    • ((\\d{4})|\\d{3}[Xx]):最后 4 位,可能是 4 位数字或者前 3 位数字加最后一位 X 或 x
方法 isValidIDCard

该方法借助 Matcher 对象来检查输入的字符串是否与正则表达式匹配,若匹配则返回 true,反之返回 false

注意事项

  • 此正则表达式只能校验身份证号的格式是否正确,无法验证其真实性和有效性。
  • 对于闰年 2 月日期范围等特殊情况,正则表达式无法进行精确校验,若需要更严格的验证,可能要结合其他逻辑。

校验邮箱的正则表达式

在 Java 中,若要校验邮箱且允许空字符串,可以在原本用于校验邮箱格式的正则表达式基础上添加对空字符串的匹配规则。以下是示例代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class EmailValidatorWithEmpty {// 定义支持空字符串的邮箱校验正则表达式private static final String EMAIL_REGEX = "^$|^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";private static final Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX);/*** 校验邮箱的方法,允许空字符串* @param email 待校验的邮箱地址* @return 如果邮箱格式正确或者为空字符串返回 true,否则返回 false*/public static boolean isValidEmail(String email) {Matcher matcher = EMAIL_PATTERN.matcher(email);return matcher.matches();}public static void main(String[] args) {// 有效邮箱String validEmail = "example@example.com";// 无效邮箱String invalidEmail = "example.example.com";// 空字符串String emptyEmail = "";System.out.println(validEmail + " 是否为有效的邮箱地址: " + isValidEmail(validEmail));System.out.println(invalidEmail + " 是否为有效的邮箱地址: " + isValidEmail(invalidEmail));System.out.println("空字符串是否允许: " + isValidEmail(emptyEmail));}
}
代码解释
正则表达式
^$|^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$
  • ^$:用于匹配空字符串。^ 表示字符串的起始位置,$ 表示字符串的结束位置,二者组合起来就表示一个空的字符串。
  • |:逻辑或运算符,用于分隔不同的匹配规则。
  • ^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$:用于匹配正常的邮箱格式,具体解释如下:
    • ^:表示字符串的开始。
    • [a-zA-Z0-9_+&*-]+:匹配邮箱用户名的开头部分,允许包含字母、数字、下划线、加号、连字符、星号和与号。
    • (?:\\.[a-zA-Z0-9_+&*-]+)*:匹配用户名中可能出现的点号及其后面的字符,(?: ... ) 是一个非捕获组,* 表示前面的部分可以出现 0 次或多次。
    • @:匹配邮箱地址中的 @ 符号。
    • (?:[a-zA-Z0-9-]+\\.)+:匹配域名部分,允许包含字母、数字和连字符,并且可以有多个子域名,每个子域名后面跟着一个点号。
    • [a-zA-Z]{2,7}:匹配顶级域名,顶级域名由 2 到 7 个字母组成。
    • $:表示字符串的结束。
方法 isValidEmail

该方法通过 Matcher 对象检查输入的字符串是否与正则表达式匹配,如果匹配则返回 true,否则返回 false

注意事项

  • 此正则表达式虽然能校验邮箱的基本格式,但不能保证邮箱地址是真实存在且可使用的。
  • 对于一些特殊的邮箱地址,如带有国际化域名的邮箱,可能需要更复杂的正则表达式来进行准确校验。

手机号的正则表达式

以下为你提供针对中国大陆手机号和通用手机号的校验正则表达式,同时支持空字符串校验的 Java 代码示例。

中国大陆手机号校验(支持空字符串)

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class ChinesePhoneValidatorWithEmpty {// 定义支持空字符串的中国大陆手机号校验正则表达式private static final String PHONE_REGEX = "^$|^1[3-9]\\d{9}$";private static final Pattern PHONE_PATTERN = Pattern.compile(PHONE_REGEX);/*** 校验中国大陆手机号的方法,允许空字符串* @param phone 待校验的手机号* @return 如果手机号格式正确或者为空字符串返回 true,否则返回 false*/public static boolean isValidChinesePhone(String phone) {Matcher matcher = PHONE_PATTERN.matcher(phone);return matcher.matches();}public static void main(String[] args) {// 有效手机号String validPhone = "13800138000";// 无效手机号String invalidPhone = "23800138000";// 空字符串String emptyPhone = "";System.out.println(validPhone + " 是否为有效的中国大陆手机号: " + isValidChinesePhone(validPhone));System.out.println(invalidPhone + " 是否为有效的中国大陆手机号: " + isValidChinesePhone(invalidPhone));System.out.println("空字符串是否允许: " + isValidChinesePhone(emptyPhone));}
}
代码解释
  • 正则表达式 ^$|^1[3-9]\\d{9}$
    • ^$:用于匹配空字符串,^ 表示字符串开始,$ 表示字符串结束,两者结合即匹配空内容。
    • |:逻辑或运算符,分隔不同匹配规则。
    • ^1[3-9]\\d{9}$:用于匹配中国大陆 11 位手机号,手机号以 1 开头,第二位是 3 - 9 中的一个数字,后面跟着 9 位数字。

通用手机号校验(支持空字符串)

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class GeneralPhoneValidatorWithEmpty {// 定义支持空字符串的通用手机号校验正则表达式private static final String GENERAL_PHONE_REGEX = "^$|^\\+?[1-9]\\d{1,14}$";private static final Pattern GENERAL_PHONE_PATTERN = Pattern.compile(GENERAL_PHONE_REGEX);/*** 校验通用手机号的方法,允许空字符串* @param phone 待校验的手机号* @return 如果手机号格式正确或者为空字符串返回 true,否则返回 false*/public static boolean isValidGeneralPhone(String phone) {Matcher matcher = GENERAL_PHONE_PATTERN.matcher(phone);return matcher.matches();}public static void main(String[] args) {// 有效通用手机号String validGeneralPhone = "+8613800138000";// 无效通用手机号String invalidGeneralPhone = "+0123456789";// 空字符串String emptyGeneralPhone = "";System.out.println(validGeneralPhone + " 是否为有效的通用手机号: " + isValidGeneralPhone(validGeneralPhone));System.out.println(invalidGeneralPhone + " 是否为有效的通用手机号: " + isValidGeneralPhone(invalidGeneralPhone));System.out.println("空字符串是否允许: " + isValidGeneralPhone(emptyGeneralPhone));}
}
代码解释
  • 正则表达式 ^$|^\\+?[1-9]\\d{1,14}$
    • ^$:匹配空字符串。
    • |:逻辑或运算符。
    • ^\\+?[1-9]\\d{1,14}$:用于匹配通用手机号,\\+? 表示国家码前的 + 号可有可无,[1-9] 表示手机号第一位不能为 0,\\d{1,14} 表示后面可跟 1 到 14 个数字,满足国际电信联盟规定的最长 15 位手机号(含国家码)。

注意事项

  • 正则表达式只能校验手机号格式,不能判断手机号是否真实可用。
  • 手机号规则可能随时间和运营商调整,需根据实际情况更新正则表达式。
http://www.dtcms.com/wzjs/441726.html

相关文章:

  • 中国建设监理协会网站查询成绩营销方案100例
  • 网站上传不了图片不显示不出来自己如何制作网站
  • 快件网站建设营销案例100例简短
  • 关于工程项目建设的网站站长统计app最新版本2023
  • 怎样做自己的视频网站每天4元代发广告
  • 给网站做外链要注意哪些黑帽seo技巧
  • 做张网站banner多少钱贵阳搜索引擎排名推广
  • 网站开发加盟商怎么做东莞网站建设最牛
  • 如何取一个大气的名字的做网站seo网站优化培训厂家报价
  • 青州哪里做网站成都私人网站制作
  • 中小企业公共服务平台seo视频教程百度云
  • 廊坊建设企业网站学做网站需要学什么
  • 龙岩网站定制长尾关键词在线查询
  • 成都设计公司电话泰安网站优化公司
  • 长沙制作网站设计多少钱站外推广怎么做
  • 有什么好的网站可以接单子做关键字排名软件官网
  • 北京开发公司网站seo优化怎么做
  • 如何注册自己的工作室独立站seo推广
  • 江西医疗网站建设百度搜索风云榜总榜
  • php和asp做网站哪个好网站seo技术
  • 张家港做网站收费标准百度推广登录平台客服
  • 如何用dw做网站地图磁力天堂最新版地址
  • wordpress 安全性网站优化最为重要的内容是
  • 做网站主页图片一般多少mseo网站排名优化软件
  • 网站可以自己做吗做一个简单的网站需要多少钱
  • 各地民营企业创新前行东莞seo优化团队
  • asp.net做的网站文字控件随窗口大小不变化seo技术培训唐山
  • 关于电器网站建设的法律免费百度下载
  • html5 手机网站开发叫才seo 推广怎么做
  • 山西省网站制作优化设计全部答案