這可能很簡單,但我不怎麼做。正則表達式javascript中的問號
我有這樣的正則表達式:
new RegExp("^[A-Za-z\\u00C0-\\u017F][\\- ]?+$");
它驗證一個名字。名字必須以一個字母開始(範圍是unicode並且工作正常),然後繼續使用字母或空格。但它可以只是字母,就像大多數名字一樣。
我已經搜查,但我沒有發現這樣做的正確方法。
我不想重複字符範圍。這只是讓代碼更「適當」。
如果你能幫助,它會提前
這可能很簡單,但我不怎麼做。正則表達式javascript中的問號
我有這樣的正則表達式:
new RegExp("^[A-Za-z\\u00C0-\\u017F][\\- ]?+$");
它驗證一個名字。名字必須以一個字母開始(範圍是unicode並且工作正常),然後繼續使用字母或空格。但它可以只是字母,就像大多數名字一樣。
我已經搜查,但我沒有發現這樣做的正確方法。
我不想重複字符範圍。這只是讓代碼更「適當」。
如果你能幫助,它會提前
是巨大的:)
感謝現在你只允許一個字母,然後一個或多個破折號/空間。你可能想要
new RegExp("^[A-Za-z\\u00C0-\\u017F][A-Za-z\\u00C0-\\u017F -]*$");
但一般來說,試圖用正則表達式驗證名稱是不是這樣一個好主意。
你的表情說:「一個字母,然後任選任何一個破折號或一個空間」,那麼如果我理解正確的話,'+'是錯誤的語法,雖然JavaScript是經常寬容,所以......也許文字上的'+'? –
如果你想要寫一個'(?:快|清潔|正確|高效)'正則表達式,閱讀(學習):精通正則表達式(第3版(http://www.amazon.com/Mastering-Regular -Expressions - 傑弗裏 - 弗裏德爾/ DP/1565922573),當談到學習正則表達式,沒有捷徑可走。 – ridgerunner
謝謝ridgerunner – Emilie