REGEX用于字母数字字符串之间的空格

时间:2018-12-11 19:35:07

标签: javascript regex

您能帮我建立一个符合以下任何一种模式的正则表达式吗?

  1. N0007120DJKAWE(9至14个字母数字字符)
  2. N 0007120DJKAWE(第一个位置是字母数字,第二和第三个位置可以是空格,下一个可以是8到13个字母数字)
  3. N0007120D KAWE(10个字母数字,第10和11个位置可以是空格,下一个可以是1到4个字母数字)

我尝试过:

  1. (\b(?=[\dA-Za-z]*\d)(?=[\dA-Za-z]*[A-Za-z])[\dA-Za-z]{9,14}\b)
    
  2. (\b[\dA-Z]{1}[\s]{1,2}[\dA-Z]{8,13}\b)
    
  3. ((?=[\dA-Za-z]*\d)(?=[\dA-Za-z]*[A-Za-z])[\dA-Z]{10}[\s]{1,2}[\dA-Z]{1,4})
    

如何为所有模式创建一个正则表达式

2 个答案:

答案 0 :(得分:0)

仅根据您上面的要求,以下内容对我有用:

function make_base(img) {
  return new Promise(function(resolve, reject) {
    base_image = new Image();
    base_image.src = img;
    base_image.onload = function(){
      context.drawImage(base_image, 0, 0);
      resolve()
    }
}

function text(text) {
  context.fillText(text, 50, 50)
}

function render() {
  make_base(xxx).then(function () {
    text(xxx)
  })
}

以下是说明:

  

^:匹配字符串的开头

     

$:匹配字符串的结尾

     

[a-zA-Z0-9] {9,14}:匹配9到14次之间的任何字母数字字符(包括首尾)(注意:[a-zA-Z]仅匹配字符,\ w也匹配_)

     

^[a-zA-Z0-9]{9,14}$|^[a-zA-Z0-9] {1,2}[a-zA-Z0-9]{8,13}$|^[a-zA-Z0-9]{10} {1,2}[a-zA-Z0-9]{1,4}$ {1,2}:匹配1或2个空格字符

注意:一定要签出regex101.com

答案 1 :(得分:0)

这似乎可行:

  

/ \ ^ w {9,14} $ | ^ \ w \ s {0,2} \ w {8,13} $ | ^ \ w {9} \ s {0,2} \ w {1 ,4} $ /