2014-05-18 48 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

相关问题