Javascript正则表达式匹配至少一个以数字开头的单词跨多个单词但至少有两个单词

标签 javascript angularjs regex html

我正在使用 Javascript 正则表达式。 我有一个输入字段,它应该只传递以下条件

  • 值只能包含字母和数字
  • 值应至少包含两个单词(可以超过两个)
  • 只有一个单词开头应该有数字(一个或多个)
  • 末尾可以留有空格

请帮忙解决这个问题,因为我是正则表达式的新手。

我尝试使用下面的代码。它适用于两个单词,但不允许超过两个单词。 /^[\d]+[a-zA-Z]*\s+[a-zA-Z]+$|^[a-zA-Z]+\s+\b[\d]+[a -zA-Z]*\b$/

最佳答案

使用正向前瞻,您可以使用此正则表达式:

/^^(?=.*\b\d[a-z\d]*\b)(?:\b[a-z\d]+\b[ \t]*){2,}$/i

RegEx Demo

(?=.*\b\d[a-z\d]*\b) 是正向前瞻,以确保至少有一个以数字开头的 woth。

关于Javascript正则表达式匹配至少一个以数字开头的单词跨多个单词但至少有两个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36171081/

相关文章:

javascript - AngularJS:在包含带有 templateurl 的指令的 html 上使用 $compile

javascript - 在整个 AngularJS 中使用美元符号前缀属性名称(object.$myprop)?

c - 在 C 中使用正则表达式组

php - 在 PHP 中将 utf-8 字符列入白名单的最有效方法是什么?

javascript - 监听器丢失对 "this"的引用 - jQuery

javascript - 向 onCreate 用户 firebase 云函数添加自定义声明

javascript - 通过未转义的数据属性选择元素

javascript - 如何使用 excel-builder.js 导出 Excel 文件

javascript - Angularjs 模式 : Returning state from service

regex - 使用正则表达式获取用户名