我有一个保存用户输入的字符串。该字符串可以包含各种类型的数据,例如:
- 六位数字的 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/