1

我将输入限制为仅接受以下字符:

  • 撇号'
  • 开括号(
  • 右括号
  • 逗号
  • 连字符-
  • 期间
  • 字母数字AZ az 0-9
  • 空间

我想出了这个正则表达式:

/^['(),-.A-Za-z0-9\s]+$/

我在这里违反了任何正规化命令吗?我只想根据我在上面的项目符号中说明的顺序来获得正则表达式的顺序。

4

2 回答 2

3

在@Mark Linus 的问题评论中调整正则表达式:

/^[-'(),.\w\s]+$/ (将连字符移动到字符类的开头)

原因:在正则表达式字符类中,-指定一个字符范围,除非它是第一个或最后一个字符。

,-.,表示从到.包含的任何字符。碰巧的是,-是这两者之间的单个字符(基于 ASCII 值),因此在这种情况下效果相同。但是,在字符类中除了开头或结尾之外的任何位置都放置连字符可能不是一个好主意,除非您要指定一个范围。

于 2012-06-15T02:27:49.573 回答
0

据我所知,没有真正意义上的值的常规顺序。只需为自己编造一些东西,并在所有表达中保持一致。只要使用任何感觉舒适的东西。

于 2012-06-15T02:21:15.613 回答