2012-03-12 60 views
1

我真的很难在匹配约束grails中,我很新的。我希望我的领域只接受的是具有电话号码格式的输入,如02-3546352,其中(地区代码) - (电话号码)。除了数字和破折号以外的其他字符都不被接受。是否可以像我想使用正则表达式那样来过滤输入? 请帮忙。感谢您分享您的知识。grails验证使用匹配约束 - 正则表达式

回答

4

假设这是唯一的你想匹配的图案......

事情是这样的:^\d{2}-\d{7}$应该匹配这将启动(^)任意两位数字(\d{2})任何字符串一个破折号(-),并且随后是7个位数跟进(\d{7} )最后是fol低于字符串的末尾($)。

查看this教程以获取更多信息。

+0

谢谢!我从你那里学到一些东西。感谢您分享你的知识。 – antibry 2012-03-14 09:13:32

6

是的,它是\d+\-\d+。如果你知道在区号和电话mnumbers的确切数量,说2区和7实际numbler,那么这将是\d{2}\-\d{7}

或者完整的例子:

static constraints = { 
    phone(matches: '\\d{2}\\-\\d{7}') 
} 
+0

是的,示例代码中的双反斜杠 – Arrowsmith 2015-04-30 15:23:21