2010-09-07 49 views

回答

11

連字符已經包括(兩次),您可以通過編輯成字符類中添加撇號:

/^[a-zA-Z-\-\ ']+$/ 

你可以把它改寫成這樣,使那裏有沒有必要爲逃避連字符和它只是包含一次:

/^[a-zA-Z '-]+$/ 

例子:http://jsfiddle.net/a4vGA/

+0

感謝我很欣賞這個 – 2010-09-07 15:07:43

+0

我試過這樣:/^[a-zA-Z' - ] + $/ 但我仍然收到錯誤 – 2010-09-07 15:10:44

+1

錯誤是什麼? – rfunduk 2010-09-07 15:12:48

0

試試這個:

"abc'def ghi-jkl mno-pq'rst".match(/^[\w\s-']+$/) 
  • \w任何字母
  • \s空間
  • -的連字符
  • '的撇號
+0

'\ s'不僅僅匹配空格,還包括'\ t \ r \ n'等等。另外,'\ w'會匹配'_'。 – 2010-09-07 16:07:05

+0

@andy在輸入字段中獲得\ t \ r \ n非常困難,但對於\ w和_ – Mic 2010-09-07 16:41:23

+0

@Mic確實很容易:它比您想象的要容易得多,您會驚訝有多少人意外地突出顯示「 \ n \或'\ r \ n'當複製粘貼;-)雖然,這是修剪的目的。 – 2010-09-07 16:49:51