javascript - 修改此正则表达式以接受 0 到 15 个字符?

标签 javascript regex

我有一个像这样的正则表达式:

var filter = /^[ A-Za-z0-9_@./#&+-]*$/;

如果输入字段中没有字符或者字符小于 14,我希望这个正则表达式返回 true。我尝试使用这个:

var filter = /^[ A-Za-z0-9_@./#&+-]{0, 15}*$/;

但是这个正则表达式永远不会返回真值。即使我满足条件,它也总是返回 false。怎么了?

最佳答案

空格在正则表达式中很重要。空格字符使您的 {n,m} 量词无效,导致 {0, 15}* 被评估为文字字符串 "{0, 15",后跟零个或多个 }

另外,你可以将[A-Za-z0-9_]压缩成\w:

var filter = /^[ \w@./#&+-]{0,15}$/;

关于javascript - 修改此正则表达式以接受 0 到 15 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17466526/

相关文章:

java - 在 Java 中匹配\a574322 的正则表达式

java - 正则表达式打印出里面的所有匹配项?和 , 或 )

javascript - knockout : Make nested sortable automatically expand when adding a child

java - 文本框中的下拉列表

javascript - 在 jQuery 中分割这个数组

javascript - Bootstrap 根据在第一个下拉列表中点击的 li 显示/隐藏 li 元素

javascript - 需要在Javascript中编写正则表达式

正则表达式从行尾删除回车(如果存在)

ruby-on-rails - 检查给定的字符串是否是一个 URL

javascript - JS : GetElementsByName from within form