2014-04-26 54 views
1

首先我搜索了答案,但直到現在都沒有成功。如何在html5屬性中使用西裏爾字母的正則表達式?

我有一個通過POST提交一些輸入的表單,但在此之前,我希望在客戶端保護名字和姓氏僅使用拉丁或西裏爾字母。

到目前爲止,它只適用於拉丁字母,但我不能得到它與西裏爾字母的工作。 這是我現在用的,任何幫助,將不勝感激

<input id="userfnamesignup" type="text" pattern="[a-zA-Z]{3-30}" 
     name="user_fname" placeholder="Enter your name please" required /> 
+0

一些有效的西裏爾字母名稱包含非字母符號,例如「Анна-Мария」或「Иван-Асен」。那些有效的名字不符合你的模式,就像「Jean-Claude」不會。 – lanzz

+0

您的正則表達式中有語法錯誤。 '{3-30}'應該是'{3,30}'。在'[]'中加入'а-я'應該可以工作。如果不是,下面的答案將起作用。 – PhistucK

+0

@PhistucK'а-я'會排除很多像'љ'這樣的字母,這些字母在一些西里爾文腳本中是有效的。 – lanzz

回答

2

對Unicode的支持JavaScript不是很大,但你應該能夠使用Cyrillic unicode character range作爲正則表達式的一部分,它應該工作。

[a-zA-Z\u0400-\u04ff]{3,30} 

http://jsfiddle.net/7anQs/

+0

我試了一下,感謝我在4分鐘內給出答案。另外如果你能告訴我在PHP方面如何過濾這種格式的電話號碼(+ nnn nn nnn-nnn)? – al1en

+1

@ al1en詢問另一個問題 –

相關問題