【问题标题】:Not able to get Regular Expression in javascript无法在javascript中获取正则表达式
【发布时间】:2015-07-07 02:46:06
【问题描述】:

我想在我的一个文本字段上设置验证正则表达式。 示例输入如下所示:

1364-lqap-10926

验证公式为4位,破折号,4个字母,破折号,5位(总长度验证=15)。

我已尝试使用 \d{4})-([a-z]*[a-z])-\d{5},但也匹配了不需要的值。

您能否建议如何修复正则表达式?

【问题讨论】:

  • “4Numeric”的正则表达式是什么?那么“4Alpha”呢?然后是“5 数字”?那你明白了
  • 4 + 4 + 5 = 13。不是 15。
  • 我想要一个正则表达式用于这个...@gefei
  • @DattaSai 看来你误解了 Stack Overflow 的工作原理。

标签: javascript jquery regex


【解决方案1】:

正则表达式:

/[0-9]{4}-[a-z]{4}-[0-9]{5}/

[0-9]{4}: 匹配四个数字 \-:匹配- [a-z]{4}: 匹配从 a 到 z 的四个字母

【讨论】:

  • 没有理由转义连字符。
  • @Biffen 谢谢!已更新。
【解决方案2】:

你问的正则表达式很简单,你应该通过分析这个来学习正则表达式。

遵循您的行为的正则表达式是:

'/\d{4}-[a-zA-Z]{4}-\d{5}/'

解释:

4 个数字

\d{4}

表示您希望恰好出现 4 次 "\d" 这是一个数字

4 阿尔法

由于 num 不包含在 alpha 中,因此您将搜索任何恰好为 4 的字母:

[a-zA-Z]{4}

5 个数字

与 4 个数字相同,但括号中的数字是 5 而不是 4 (\d{5})

【讨论】:

  • 感谢@Tushar /[0-9]{4}-[az]{4}-[0-9]{5}/ itz 工作,但最后一个数字限制了 tp 6 也采取了 ,, ,为什么?
【解决方案3】:

您还需要检查锚点(^$ 强制检查字符串的开头和结尾),而不仅仅是模式。

^\d{4}-[a-z]{4}-\d{5}$

使用i 选项忽略字母大小写。

See demo

示例代码:

var re = /^\d{4}-[a-z]{4}-\d{5}$/i; 
var str = '1234-abcd-12345';
     
if (re.test(str)) {
   alert("found");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-03
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多