[英]regular expression for French characters
我需要一個函數或正則表達式來驗證包含字母字符(包括法語字符)、減號 (-)、點 (.) 和空格(不包括其他所有內容)的字符串
謝謝
/^[a-zàâçéèêëîïôûùüÿñæœ .-]*$/i
使用/i
不區分大小寫以使事情更簡單。 如果您不想允許空字符串,請將*
更改為+
。
簡化的解決方案:
/^[a-zA-ZÀ-ÿ-. ]*$/
說明:
^ Start of the string [ ... ]* Zero or more of the following: az lowercase alphabets AZ Uppercase alphabets À-ÿ Accepts lowercase and uppercase characters including letters with an umlaut - dashes . periods spaces $ End of the string
嘗試:
/^[\p{L}-. ]*$/u
這說:
^ Start of the string
[ ... ]* Zero or more of the following:
\p{L} Unicode letter characters
- dashes
. periods
spaces
$ End of the string
/u Enable Unicode mode in PHP
[\\w .-]
應該足夠了,但你需要有\\w
考慮區域和/或把它轉換成Unicode模式,所以\\w
匹配什么Unicode定義為字母數字字符。 如何在PHP中做到這一點可能只是一個谷歌。
我一直在使用的字符類如下:
[\\wÀ-Üà-øoù-ÿŒœ]
。 這涵蓋了比僅法語稍大的字符集,但排除了大部分與法語無關的東歐和斯堪的納維亞變音符號和字母。 我發現這是簡潔性和排他性之間的一個不錯的妥協。
為了匹配/驗證完整的句子,我使用這個表達式: [\\w\\s.,!?:;&#%''"()«»À-Üà-øoù-ÿŒœ]
,其中包括標點符號和法式引號.
這行正則表達式傳遞了所有 cirano de bergerac 法語文本:(您需要刪除標記語言字符http://www.gutenberg.org/files/1256/1256-8.txt
^([0-9A-Za-z\u00C0-\u017F\ ,.\;'\-()\s\:\!\?\"])+
只需使用以下代碼:
/[\u00C0-\u017F]/
這可能適合:
/^[ a-zA-Z\xBF-\xFF\.-]+$/
它允許輸入一些額外的字符,例如 ÷,但它處理相當多的重音字符。
/[A-Za-z-\\.\\s]/u
應該可以工作.. /u 開關用於 UTF-8 編碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.