我正在检查一个字符串是否是字母数字。我尝试了其他帖子中给出的许多东西,但都无济于事。我尝试了StringUtils.isAlphanumeric(),一个来自Apache Commons的库,但是失败了。我也试过这个link的正则表达式,但也不起作用。有没有一种方法可以检查一个字符串是否是字母数字,并根据它返回true或false?
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = fullnameet.getText().toString();
String numRegex = ".*[0-9].*";
String alphaRegex = ".*[A-Z].*";
if (text.matches(numRegex) && text.matches(alphaRegex)) {
System.out.println("Its Alphanumeric");
}else{
System.out.println("Its NOT Alphanumeric");
}
}
});
6条答案
按热度按时间wj8zmpe11#
为Kotlin开发者转换https://stackoverflow.com/a/43977613/8370216这个答案为Kotlin扩展函数
fiei3ece2#
如果你想确定你的字符串既包含字母数字 *,又包含数字和字母,那么你可以使用以下逻辑:
请注意,我们可以用一个正则表达式来处理这个问题,但它可能会比上面的答案更冗长,更难维护。
zqdjd7g93#
原文来自here
String myString =“qwerty123456”; System.out.println(myString.matches(“[A-Za-z0-9]+”));
}
k5ifujac4#
试试这个
hxzsmxv25#
这是检查字符串是否为字母数字的代码。更多详情请查看Fastest way to check a string is alphanumeric in Java
aemubtdh6#
虽然有很多方法可以剥下这只猫的皮,但我更喜欢将这些代码 Package 到可重用的扩展方法中,这样做就变得微不足道了。当使用扩展方法时,您还可以避免使用RegEx,因为它比直接的字符检查慢。我喜欢使用Extensions.cs NuGet包中的扩展。它使此检查简单如:
1.将https://www.nuget.org/packages/Extensions.cs包添加到项目中。
1.将“
using Extensions;
“添加到代码的顶部。"smith23@".IsAlphaNumeric()
返回False,而"smith23".IsAlphaNumeric()
返回True。默认情况下,.IsAlphaNumeric()
方法忽略空格,但也可以重写它,使"smith 23".IsAlphaNumeric(false)
返回False,因为空格不被视为字母表的一部分。1.其余代码中的每一个其他检查都是简单的
MyString.IsAlphaNumeric()
。您的示例代码将变得像这样简单: