2012-03-12 57 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