如何检查用户是否在java中键入了符号?

时间:2018-06-01 14:00:12

标签: java jsf

我遇到这个问题,我有一个输入字段,在输入字段内,我正在检查用户是否没有放任何空格和“@”符号。但是,我已经编写了用于检查空格的代码,但是无法包含用于检查“@”符号的代码。我尝试使用此&& value.contains("@"),并将Object value更改为String value,仍然无效。任何人都可以告诉我如何在我的代码之前检查“@”符号。谢谢!

这是我的代码:

            public void validate(FacesContext context, UIComponent component,
            Object value) throws ValidatorException {
        //Checking  if the user has typed only blank spaces and  "@" symbol. 

        //&& value.contains("@")
        if (value.toString().trim().isEmpty()) {
            FacesMessage msg
                    = new FacesMessage("Invalid input provided",
                            "Enter a valid address without @ Symbol and Spaces.");
            msg.setSeverity(FacesMessage.SEVERITY_ERROR);
            throw new ValidatorException(msg);

        }
    } 

3 个答案:

答案 0 :(得分:2)

你可以做到

int attempts = 0;
while(garbage[x].transform.position == /*[the range of coordinates for the wall]*/ || attempts = 0)
{
    garbage[x].transform.position = new Vector3(Random.Range(-33.0f, 30.0f), 2.35f, Random.Range(30.0f, -35.0f));
    attempts += 1;
} 

答案 1 :(得分:1)

检查

if (!value.toString().contains(" ") && !value.toString().contains("@"))

答案 2 :(得分:-1)

试试这一行:

 if(!value.toString().matches("[^a-z A-Z0-9]"))