JavaScript 正则表达式 : Testing string for intelligent query

标签 javascript regex string evaluation

我有一个保存用户输入的字符串。该字符串可以包含各种类型的数据,例如:

  • 六位数字的 ID
  • 包含 4 位数字和两个字母数字字符的邮政编码
  • 名称(仅限字符)

当我使用此字符串搜索数据库时,查询类型取决于搜索类型,我想使用 JavaScript 处理服务器端(是的,我正在使用 JavaScript 服务器端)。在 StackOverflow 上搜索,给我带来了一些有趣的信息,比如 .test-method,它似乎非常适合我的需求。测试方法根据使用正则表达式对象对字符串的评估返回 true 或 false。

我使用此页面作为引用: http://www.javascriptkit.com/jsref/regexp.shtml

所以我尝试使用以下非常菜鸟的正则表达式来确定邮政编码。

var r =/[A-Za-z]{2,2}/

据我所知,这应该将字母数字字符的出现次数限制为最多两次。请参阅我的 JavaScript 控制台的输出下方。

> var r = /[A-Za-z]{2,2}/
> var x = "2233AL"
> r.test(x)
true
> var x = "2233A"
> r.test(x)
false
> var x = "2233ALL"
> r.test(x)
true  /* i want this to be false */
> 

如果能得到一点帮助,我们将不胜感激!

最佳答案

/([^a-z]|^)[a-z]{2}([^a-z]|$)/i

第 1 部分:([^a-z]|^) ...没有字母或字符串开头

第 2 部分:[a-z]{2} ... 两个字母

第 3 部分:([^a-z]|$) ...没有字母或字符串结尾

/i ... 不区分大小写

关于JavaScript 正则表达式 : Testing string for intelligent query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4579306/

相关文章:

javascript - jQuery Lightbox - 关闭按钮在关闭前滚动浏览图像

javascript - JavaScript 可以帮助防止重复点击事件处理吗?

c# - Entity Framework 提供列名作为字符串变量

xml - cvc 模式有效 : Value 'A' is not facet-valid with respect to pattern '^[A-Za-z]?$' for type 'whatever'

java - 为什么gson在toJSONString()方法中使用StringWriter?

java - println() 方法中的字符串连接

javascript - 从 mvc.net 获取 AngularJS http 中使用的 url 的可靠方法是什么?

javascript - 如何通过使用 takeUntil 的多个条件来停止订阅

javascript - 使用正则表达式在 Javascript 中的字符串中的每个下划线之后获取每个 'word'

c# - 用于识别网址的正则表达式