【问题标题】:compose a javascript expression that has one uppecase letter and six numbers编写一个包含一个大写字母和六个数字的 javascript 表达式
【发布时间】:2012-07-26 18:07:17
【问题描述】:

我需要编写一个正则 JavaScript 表达式。这个表达式是基于一个序列号的表达式的参数是这样的:

一个大写字母开头,表达式的其余部分是数字(6)

示例:E234585、C345678、E001234

感谢您的帮助

【问题讨论】:

  • 你想匹配这些吗?还是抓住他们?请添加更多信息来描述你想用正则表达式做什么,或者如果你的意思是你想生成像“XNNNNNNN”这样的字符串,那么你问错了问题

标签: php javascript regex forms expression-web


【解决方案1】:

试试这个表达式:

/^[A-Z]\d{6}$/

这将匹配您描述的格式的序列号。

[A-Z] 匹配第一个大写字母,然后\d{6} 匹配后面的 6 个数字。 anchors^$)确保匹配的字符串只包含序列号,不包含其他内容。

【讨论】:

  • 别忘了解释锚点!
  • 谢谢。我觉得现在已经很彻底了。 :P
  • 您好,感谢 ahl18 的回答。你提供的表达方式很理想。我非常感谢您的及时回复。
  • @user1555523 不客气!如果您通过给我巨大的绿色复选标记来接受我的回答,我将不胜感激! :)
【解决方案2】:

您的问题非常不清楚,我将在黑暗中尝试一下,并假设您的意思是您想要生成那些随机字符串:

var getRandomInt = function (min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;  
};

var getRandomLetter = function () {
    return String.fromCharCode(getRandomInt(65, 90));
};

var getRandomDigit = function () {
    return getRandomInt(0, 9);
};

var yourString = getRandomLetter() + getRandomDigit() + ... + getRandomDigit();

【讨论】:

    【解决方案3】:
    ​var serialre = new RegExp('[A-Z]{1}[0-9]{6}');​​​​​​​​​​​​​​​​​​​​​​​​
    
    if(serialre.test('A123456')){
           document.write('yep');
    } else {
        document.write('nope');
    }
    
    document.write('<br />');    
    
    if(serialre.test('POOPSTAINS!')){
           document.write('yep');
    } else {
        document.write('nope');
    }
    ​
    

    生产:

    yep
    nope
    

    查看JSFiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-26
      • 2012-02-04
      • 2016-12-14
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多