具有固定长度、前导空格和数字的 JavaScript 正则表达式模式

标签 javascript regex

我需要一个正则表达式模式,该模式与带有前导空格的固定长度数字字符串(六个字符)相匹配。空格(零个或最多 5 个)始终位于字符串的左侧。数字(1 或最多 6)始终位于右侧。 所以:

"     4" is valid
"123456" is valid too

"12    " is not valid
"  12  " is not valid
"12  34" is not valid
"      " is not valid

我尝试使用 /^( ){0,5}(\d){1,6}$/ 但它不起作用,因为它不检查字符串。我也尝试了 /^( |\d){6}$/ 但它不检查空格/数字的位置。现在我陷入困境,我知道有一个解决方案,但我自己找不到,也无法通过互联网搜索。提前致谢。

最佳答案

您可以使用正向先行 (?= 来断言 6 个字符的长度:

^(?=.{6}$)[ ]{0,5}[0-9]{1,6}$

说明

  • ^ - 字符串开头
  • (?=.{6}$) 正向前瞻,断言直接位于右侧的内容为 6 个字符并断言字符串结尾。
  • [ ]{0,5}[0-9]{1,6} 匹配空格 0-5 次,匹配数字 1-6 次
  • $ 字符串结尾

Regex demo

关于具有固定长度、前导空格和数字的 JavaScript 正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55264452/

相关文章:

c# - 如何将有序的多行文本拆分为数组 C#

javascript - Angular ng单击 svg 矩形

javascript - 如何向表单输入字段添加类?

javascript - 页面完全加载后如何执行功能?

sql - 返回字段仅包含非字母数字字符的 SQL 行

NFA 的 Python 正则表达式

php - 使用php从文本中提取单词

javascript - 如何解决 'FB is not defined' ?

javascript - 使用 keyup、焦点和键盘键重复 AJAX 请求

regex - 仅使用 .htaccess 文件从主页禁用 SSL