数据验证 - 正则表达式

时间:2011-08-26 17:59:38

标签: regex spring validation

我正在处理注册表单,我正在为输入(用户)数据提供验证(弹簧)。 我有像

这样的字段

名称(全名)

只允许使用字符

- >可接受的值是: A,AB,A B,A B C,Abc def,abc def ghi

- >不允许使用垃圾/特殊字符。

  • 我正在使用的正则表达式:

    Pattern.compile("(([a-zA-z])+([\\s]+[\\s])?[^*$&!@%~\",:;{}|=()_0-9])*");
    

- >单个和两个空格的字符串正常工作,这很好。

- >只有不接受的号码,这很好。

  • 问题

- >模式不适用于“单个字符”,如“a”或“A”

- >输入字母数字时不会抛出错误,例如abc23

收入

哪个应该严格只接受数值

  • 我正在使用的正则表达式:

    Pattern.compile ("(([0-9])?[^*&!@%~\",:;{}|=()_a-zA-z])*")
    
  • 问题

    接受字母数字

注册号

它可以是一个字符,可以是数字,可以是aplhanumeric,但不允许空格

有人可以帮助我为上述字段编写正确的正则表达式(只有regexp有效)吗?

1 个答案:

答案 0 :(得分:3)

您的正则表达式很长,这让我觉得可能存在其他限制因素。 但是,考虑到你给出的要点......

对于名称,您可以使用:

Pattern.compile("[a-zA-Z ]+")

对于收入,您可以使用:

Pattern.compile("[0-9]+")

注册时,您可以使用:

Pattern.compile("[a-zA-Z0-9]+")