javascript - javascript正则表达式中的冒号

标签 javascript regex

我有一个正则表达式:

/^([a-zA-Z0-9_ -.''""]+)$/

它非常适合字母、数字和一些特殊字符,如 -.'".

不,我希望它也允许使用冒号 (:)。我尝试了以下正则表达式但它失败了 - 它开始允许许多其他特殊字符。

/^([a-zA-Z0-9_ :-.''""]+)$/

知道为什么吗?

最佳答案

- 在字符类中有特殊含义,就像在 a-z 中一样。试试这个:

/^([a-zA-Z0-9_ :\-.'"]+)$/

-.(空格到点)允许一些额外的字符,如 #$ 等。如果这是故意的,请尝试:

/^([a-zA-Z0-9_ -.'":]+)$/

此外,您不必多次包含任何字符,这毫无意义。 '" 各出现两次,可以安全地删除它们。

顺便说一下,在 character table 中的点 之后出现冒号,该正则表达式无效。它不应该允许额外的字符,你应该会得到一个错误。在 Firefox 中,您得到:字符类中的无效范围

关于javascript - javascript正则表达式中的冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237293/

相关文章:

javascript - 正则表达式:如何选择两个标题之间的所有内容?

javascript - .change jQuery 不改变数据

正则表达式匹配特殊字符的精确出现

javascript - 用正则表达式替换字符串中的随机数

php - 自动链接正则表达式

regex - 使用 sed 删除具有特定正则表达式的文件中的所有行

javascript - redis.exceptions.ResponseError : MOVED error in redis set operation 错误

Javascript 防止在浏览器窗口外拖放

javascript - 无法理解这个 svg 动画

javascript - 获取 JSON 文件的 AJAX 调用返回空值