javascript - 正则表达式第一部分以数字开头

标签 javascript jquery regex regex-lookarounds

为什么我的 JavaScript 正则表达式不起作用?

var regexp = /^[1-9a-zA-Z][0-9a-zA-Z ]*$/;
console.log(regexp.test('sfdf sfdf'));

规则很简单:字符串必须以任何数字 (0-9) 开头,后跟任何数字和/或字母,并且必须允许空格。一些有效的例子:

  • 202Ab 第二条文字,也许还有更多
  • 333333 第二条文字,也许还有更多
  • 202aaa 第二条文字,也许还有更多
  • 23B 第二条文字,也许还有更多

无效示例:

  • a202 第二条文字,也许还有更多
  • 第二条文字,也许还有更多

最佳答案

您的正则表达式为:

  • 任何字母或数字 1-9
  • 任意数量(字母、数字或空格)

这不是你说的:

  • 任意数字
  • 任意数量(字母、数字或空格)

    var regexp = /^\d[0-9a-z ]*$/i;
    

关于javascript - 正则表达式第一部分以数字开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28226233/

相关文章:

javascript - 如果 <div> 不为空,则显示 jQuery-ui 对话框

java - 可以处理java异常的正则表达式

mysql - 如何使用正则表达式更改多个表

mysql - 如何使用 MySQL 查找字段中只有特殊字符的行?

Javascript/Jquery - 在选项卡后重置文本框 View 区域

javascript - AJAX 调用 - 每次点击闪烁更多

javascript - 无法从下拉框中抓取数据

javascript - 从 JSON 重新填充复杂的 javascript 对象

jquery - 如何使用此 jquery 代码显示隐藏的 div?

javascript - 为移动设备禁用 jQuery 下拉菜单