0

HTML 5 中的 id 属性值有以下规则

1.The string should contain nonwhitespace characters
2. It should contain at least one letter

我如何以正则表达式形式表示这一点。我达到了满足第一个条件的正则表达式..

/(^|\s)\S+/ig

但是我怎样才能在上面的正则表达式中指出第二个条件
......而且我是正则表达式的新手......

4

2 回答 2

4

你的限制是错误的。HTML5 ID 数据类型必须:

  • 必须至少有一个字符长
  • 不得包含任何空格字符

那是:

^\S+$

完毕。

笔记:

  • 正则表达式中没有任何字符(\S不是字符),您不必使正则表达式不区分大小写(/.../i是多余的)。
  • 由于您的正则表达式已锚定 ( ^...$),因此只能有一个匹配项。这意味着不需要“全局”修饰符,因此/.../g也是多余的。
于 2012-05-01T15:23:15.617 回答
1

最简单的方法是匹配两个表达式。

myString.match(/(^|\s)\S+/i) && myString.match(/[a-zA-Z]/)
于 2012-05-01T15:22:16.153 回答