我正在处理注册表单,我正在为输入(用户)数据提供验证(弹簧)。 我有像
这样的字段名称(全名)
只允许使用字符
- >可接受的值是: 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有效)吗?
答案 0 :(得分:3)
您的正则表达式很长,这让我觉得可能存在其他限制因素。 但是,考虑到你给出的要点......
对于名称,您可以使用:
Pattern.compile("[a-zA-Z ]+")
对于收入,您可以使用:
Pattern.compile("[0-9]+")
注册时,您可以使用:
Pattern.compile("[a-zA-Z0-9]+")