java字符串包含数字符号字母_java-用于检查字符串是否严格为字母数字的正则表达式...

java-用于检查字符串是否严格为字母数字的正则表达式

如何检查字符串是否仅包含数字和字母,即。 是字母数字?

O__O asked 2020-02-02T11:00:33Z

10个解决方案

75 votes

考虑到您要检查ASCII字母数字字符,请尝试以下操作:  "^[a-zA-Z0-9]*$"。在String.matches(Regex)中使用此RegEx,如果字符串是字母数字,它将返回true,否则将返回false。

public boolean isAlphaNumeric(String s){

String pattern= "^[a-zA-Z0-9]*$";

return s.matches(pattern);

}

如果有帮助,请阅读以下内容以获取有关正则表达式的更多详细信息:[http://www.vogella.com/articles/JavaRegularExpressions/article.html]

Raghav answered 2020-02-02T11:00:51Z

24 votes

为了与unicode兼容:

^[\pL\pN]+$

哪里

\pL stands for any letter

\pN stands for any number

Toto answered 2020-02-02T11:01:15Z

12 votes

是2016年或更晚,事情已经取得了进展。 这与Unicode字母数字字符串匹配:

^[\\p{IsAlphabetic}\\p{IsDigit}]+$

请参阅参考(“ Unicode脚本,块,类别和二进制属性的类”一节)。 还有一个我认为有用的答案。

Johannes Jander answered 2020-02-02T11:01:39Z

9 votes

请参阅Pattern的文档。

假设使用US-ASCII字母(a-z,A-Z),则可以使用"^[\\p{Alnum}]+$"。

检查一行仅包含此类字符的正则表达式为"^[\\p{Alnum}]+$"。

这也匹配空字符串。 要排除空字符串:"^[\\p{Alnum}]+$"。

sudocode answered 2020-02-02T11:02:13Z

5 votes

使用字符类:

^[[:alnum:]]*$

Igor Chubin answered 2020-02-02T11:02:33Z

3 votes

Pattern pattern = Pattern.compile("^[a-zA-Z0-9]*$");

Matcher matcher = pattern.matcher("Teststring123");

if(matcher.matches()) {

// yay! alphanumeric!

}

Seth Malaki answered 2020-02-02T11:02:49Z

1 votes

尝试将此[0-9a-zA-Z] +用于only alpha and num with one char at-least。

可能需要修改,因此对其进行测试

[http://www.regexplanet.com/advanced/java/index.html]

Pattern pattern = Pattern.compile("^[0-9a-zA-Z]+$");

Matcher matcher = pattern.matcher(phoneNumber);

if (matcher.matches()) {

}

Dheeresh Singh answered 2020-02-02T11:03:18Z

-1 votes

如果您还希望包括外文字母,则可以尝试:

String string = "hippopotamus";

if (string.matches("^[\\p{L}0-9']+$")){

string is alphanumeric do something here...

}

或者,如果您想允许特定的特殊字符,但不允许其他字符。 例如,对于#或空格,您可以尝试:

String string = "#somehashtag";

if(string.matches("^[\\p{L}0-9'#]+$")){

string is alphanumeric plus #, do something here...

}

BrianG7 answered 2020-02-02T11:03:42Z

-1 votes

100%字母数字的RegEx(仅包含字母数字,甚至不包含整数和字符,仅包含字母数字)

例如:

特殊字符(不允许)

123(不允许)

asdf(不允许)

1235asdf(允许)

String name="^[^]\\d*[a-zA-Z][a-zA-Z\\d]*$";

Amit answered 2020-02-02T11:04:24Z

-4 votes

若要检查字符串是否为字母数字,可以使用遍历字符串中每个字符并检查其是否为字母数字的方法。

public static boolean isAlphaNumeric(String s){

for(int i = 0; i < s.length(); i++){

char c = s.charAt(i);

if(!Character.isDigit(c) && !Character.isLetter(c))

return false;

}

return true;

}

Justin Cairns answered 2020-02-02T11:04:44Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值