2011-04-29 39 views
0

正則表達式?regex'es來驗證這些

驗證只有字符和空格的名稱,例如

Jon Skeet 

驗證具有數字和破折號的數字,例如,

423-4324234-423 
4233-412341324 
+0

你有什麼?你的姓名/號碼串有什麼要求? – 2011-04-29 12:56:00

+0

名稱中允許使用哪些字符? – Toto 2011-04-29 12:56:03

+0

更新......... – yolo 2011-04-29 12:57:33

回答

2

一個基本的英文名稱:

([a-zA-Z]+\s*)+ 

號破折號除了開頭和結尾的任何地方:

\d[-\d]+\d 

數字與破折號的任何地方:

[-\d]+ 

編輯:

如果你正在尋找的名字一個句子裏面,這樣的as

您好,我的名字是John Doe。

您可以嘗試基於連續兩個或多個大寫字母來捕獲名稱。

([A-Z][A-Za-z]+\s*){2,} 
+0

數字之一不起作用 – yolo 2011-04-29 13:11:17

+0

驗證它在這裏http://www.regexplanet.com/simple/index.html工作適合我的例子。 – Joe 2011-04-29 13:12:56

+0

'[ - \\ d] +'工作 – yolo 2011-04-29 13:15:16

1

Jon Skeet

/([a-zA-Z ]+)/ 

423-4324234-423 4233-412341324

/([\d-]+)/ 
+0

數字之一不起作用 – yolo 2011-04-29 13:11:30

1

以任何語言相匹配的名稱:

/^[\p{L} '-]+$/ 

匹配奧康納安妮 - 瑪麗厄爾尼諾...

以配合您的例子位數:

/^[\d-]+$/ 
+0

數字一個不起作用 – yolo 2011-04-29 13:11:07