qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

java中怎么用正则表达式匹配字符串中是否包含手机号,身份证号和银行卡号

时间2023-10-31 13:46:36 提问来自 江苏省南京市 的网友 分类创作 浏览347
在Java中,可以使用正则表达式来匹配字符串中是否包含手机号、身份证号和银行卡号。以下是一个示例: 1. 首先,我们需要定义一个方法,该方法接受一个字符串参数,并使用正则表达式来检查字符串中是否包含手机号、身份证号和银行卡号。 ```java import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String input = "这是一个包含手机号的字符串:13800138000,这是一个包含身份证号的字符串:123456789012345678,这是一个包含银行卡号的字符串:6228480402564890018"; System.out.println(containsPhoneNumber(input)); System.out.println(containsIDCardNumber(input)); System.out.println(containsBankCardNumber(input)); } public static boolean containsPhoneNumber(String input) { String regex = "1[3-9]\\d{9}"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); return matcher.find(); } public static boolean containsIDCardNumber(String input) { String regex = "\\d{17}[\\d|X]"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); return matcher.find(); } public static boolean containsBankCardNumber(String input) { String regex = "\\d{16}|\\d{19}"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); return matcher.find(); } } ``` 2. 在上面的代码中,我们定义了三个方法:`containsPhoneNumber()`、`containsIDCardNumber()` 和 `containsBankCardNumber()`。这些方法分别使用不同的正则表达式来匹配手机号、身份证号和银行卡号。 - `containsPhoneNumber()` 方法使用正则表达式 `1[3-9]\\d{9}` 来匹配手机号。这个正则表达式表示以数字1开头,第二位是3到9之间的任意数字,后面跟着9个数字。 - `containsIDCardNumber()` 方法使用正则表达式 `\\d{17}[\\d|X]` 来匹配身份证号。这个正则表达式表示17位数字,最后一位可以是数字或大写字母X。 - `containsBankCardNumber()` 方法使用正则表达式 `\\d{16}|\\d{19}` 来匹配银行卡号。这个正则表达式表示16位或19位数字。 3. 在 `main()` 方法中,我们调用这三个方法来检查输入字符串中是否包含手机号、身份证号和银行卡号,并将结果打印出来。

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 中国高质量发展的突出优势体现在哪些方面:创新驱动、产业升级与绿色发展 下一篇 青年如何握紧“接力棒”,“走好奋斗路”主题