2014-05-18 45 views
-1

我需要建立以下的正則表達式: 允許的大寫字母+數字(在開始時沒有)+強調允許的大寫字母+數字(在開始時沒有)+下劃線

我做了一些這個正則表達式的,允許只用大寫數字:

name.replace(/[^A-Za-z0-9']/g, "").toUpperCase(); 

這個表達式返回name大寫並刪除了未經允許的字符。

現在,我該如何做到這一點,以允許下劃線,並在開始時防止數字?

+2

那麼,不要刪除下劃線,並在開始時刪除數字? '/ \ W |^\ d/g' – Bergi

+0

你允許使用撇號嗎?你沒有在你的要求中說明它。 – Bergi

回答

1

g標誌,意思是全局的,不會讓你以不同的方式處理第一個字符。你可以鏈上的兩個置換是這樣的:

name.replace(/[0-9]*/, "").replace(/[^A-Za-z0-9_]/g, "").toUpperCase();

所以你先刪除前幾位,然後應用你原來的更換。

+0

您的正則表達式不是刪除前面的數字,而只是第一個數字? – Bergi

+0

-1因爲你關於全局修飾符的陳述是錯誤的 – Bergi

相關問題