即時通訊在grails中很新穎..即時通過驗證使用匹配現在有一個小問題。我想要發生的情況是,一個字段可以接受字母數字和特殊字符,僅字母和數字的組合,並且如果用戶僅輸入特殊字符,則系統應提示用戶出現錯誤。 我使用匹配約束來驗證數據,並且即時通訊有困難時我怎麼能設置正則表達式,其中字段不會接受只有特殊字符的輸入。 請幫助我..非常感謝您分享您的知識。正則表達式驗證 - grails
0
A
回答
2
我想我明白你的問題,但如果我錯了,請糾正我。只要至少有一個字母或數字,輸入就是有效的,對嗎?換句話說,如果沒有字母或數字(只有特殊字符),那麼輸入無效?
見,如果這個工程:
/^.*[A-Za-z0-9].*$/
這裏是我的小測試常規:
import java.util.regex.Matcher
import java.util.regex.Pattern
def pattern = ~/^.*[A-Za-z0-9].*$/
assert pattern.matcher("abc").matches()
assert pattern.matcher("ABC").matches()
assert pattern.matcher("abc123").matches()
assert pattern.matcher("123").matches()
assert pattern.matcher("abc!").matches()
assert pattern.matcher("!abc").matches()
assert pattern.matcher("1!bc").matches()
assert pattern.matcher("!.~").matches() == false
解釋:
/ regex start
^ start of string
.* any character (0 or more times)
[A-Za-z0-9] at least 1 letter or number
.* any character (0 or more times)
$ end of string
/ regex end
+0
這個作品!感謝你的分享。 – antibry 2012-02-29 02:02:17
1
我不知道,如果Grails支持lookaround,但如果這樣做,這個正則表達式會爲你工作:
/(?=^[\pL\pN!:;]+$)(?!^[!:;]+$)/
解釋:
/ : regex delimiter
(?= : begin positive lookahead
^ : start of string
[\pL\pN!:;]+ : a letter, a digit or a special char one or more times
$ : end of string
) : end of lookahead
(?! : begin negative lookahead
^ : start of string
[!:;]+ : a special char one or more times
$ : end of string
) : end of lookahead
/ : regex delimiter
相關問題
- 1. 正則表達式約束驗證 - grails
- 2. 正則表達式驗證 - grails約束
- 3. 正則表達式驗證
- 4. 正則表達式驗證
- 5. 正則表達式驗證
- 6. 正則表達式驗證
- 7. 正則表達式驗證
- 8. 正則表達式驗證
- 9. C#正則表達式驗證驗證
- 10. Asp.net正則表達式驗證器 - 驗證表達式
- 11. 正則表達式驗證grails類似於日期的格式
- 12. ASP.Net正則表達式(%符號)正則表達式驗證器
- 13. 正則表達式驗證的正則表達式
- 14. 正則表達式不正確驗證
- 15. 正則表達式模式驗證Angularjs2
- 16. 正則表達式驗證XML模式
- 17. 正則表達式驗證格式(ABC_123)
- 18. 使用正則表達式的grails驗證
- 19. 用於驗證URL的Grails正則表達式
- 20. grails驗證使用匹配約束 - 正則表達式
- 21. PlayFramework:表正則表達式驗證
- 22. 正則表達式驗證表單
- 23. HTML表單正則表達式驗證
- 24. 正則表達式 - 表單驗證
- 25. Grails findByName正則表達式
- 26. 正則表達式日期驗證
- 27. html5驗證正則表達式
- 28. JavaScript驗證/正則表達式
- 29. 15-250正則表達式驗證
- 30. Propel正則表達式驗證問題
AFAIK你不能這樣做,只有一個正則表達式。 – m0skit0 2012-02-24 09:50:33