我真的很难用grails中的匹配限制,我很新。我希望我的字段只接受的是具有电话号码格式的输入,如02-3546352,其中(区号) - (电话号码)。除了数字和短划线之外的其他字符不被接受。是否可以过滤我的输入,就像我想要使用正则表达式发生的那样? 请帮忙。感谢您分享您的知识。
答案 0 :(得分:7)
是的,它是\d+\-\d+
。如果您知道区号和电话中的确切数字,例如2表示区域,7表示实际数字,那么它将是\d{2}\-\d{7}
或完整示例:
static constraints = {
phone(matches: '\\d{2}\\-\\d{7}')
}
答案 1 :(得分:4)
假设这是你想要匹配的唯一模式......
这样的事情:^\d{2}-\d{7}$
应匹配以任意两个数字(^
)开头的任何字符串(\d{2}
),后跟短划线(-
),哪个是然后是7位数字(\d{7}
),最后是字符串的结尾($
)。
请查看this教程以获取更多信息。