REGEX(javascript) - 允许包含不在第一个位置的特殊字符的字母数字字符

时间:2012-08-15 20:38:53

标签: javascript regex

我想设计一个允许使用字母数字字符以及其他字符的正则表达式表达式,只要它们不在第一个位置即可。例子:

VALID: Test
VALID: Hello123
VALID: 456 Hi
VALID: 456-789
VALID: Hi-777
VALID: 333-Hi
VALID: Hello-There
VALID: What's Up
VALID: Hello#Goodbye

INVALID: -Hello
INVALID: &Goodbye

这是我的起点,只允许使用字母数字:

/[a-zA-Z]+/

3 个答案:

答案 0 :(得分:4)

使用^[A-Za-z0-9]在第一个位置需要一个alphnum字符(紧跟在^之后,字符串的开头),然后是你需要的任何其他字符。

# Specific set permitted -- add all the characters you need...
/^[A-Za-z0-9][A-Za-z-9, +-_&#'"]+$/

# Or anything permitted after the first position
# Use .* instead of .+ if a single character string is permissible.
/^[A-Za-z0-9].+$/

答案 1 :(得分:3)

试试这个正则表达式:

/^[a-zA-Z0-9].*$/

答案 2 :(得分:0)

/^\w/如果您只需要测试/^\w.*$/,如果您还需要匹配整个字符串。 如果您也允许使用空字符串,则可以使用/^(\w|$)/,读取字符串以字符开头或以其结尾(为空)或/^(\w.*)?$/读取,因为字符串是单词字符后跟任何东西,一次或根本没有。