第一个字符不能在表达式中用短划线( - )表示

时间:2016-07-13 11:07:02

标签: javascript regex

当用户输入第一个字符时如何制作正则表达式是破折号( - )它不允许(用户可以输入字母或数字作为第一个字符)

但是在第二个字符之后用户可以输入alpha,numeric和dash( - )

1 个答案:

答案 0 :(得分:2)

正则表达式在这里可能有点贵。您只需使用charAt(0)从字符串中抓取第一个字符,然后检查它是否是"-"字符,如下所示:

var myString = ...

if (myString.charAt(0) === "-")
  // Do this if true
else
  // Do this if false
  

但是在第二个字符之后用户可以输入alpha,numeric和dash( - )

但是,如果这意味着第一个短划线字符之后的任何字符必须是字母数字或短划线字符,则需要使用以下正则表达式:

/^-[a-zA-Z0-9\-]+$/

像这样:

/^-[a-zA-Z0-9\-]+$/.test(myString);

这是Regexper visualisation

Regexper Visualisation