javascript - JavaScript 中的正则表达式 [^a-z][0-9]

标签 javascript regex

function checkEmail(str){
    var emailCheck = /[^a-z][0-9]/;
    if(emailCheck.test(str)){
      console.log("**Its Valid Mail");
    }
    else{
      console.log("Its not Valid");
    }
}
var x = '122a';
checkEmail(x);

我一直在学习正则表达式。 从上面的代码我了解到,x 不应该包含小的 a-z 并且它必须包含数字,如您所见 122a 也包含数字作为小写字母 a,我认为它应该是无效的,但我认为它是有效的。 谁能解释一下我哪里想错了。

最佳答案

问题是,您没有检查字符串的开头和结尾。

指定正则表达式的开始结束:

/^[^a-z][0-9]+$/

脱字符 ^ 和美元 $ 字符在正则表达式中具有特殊含义。它们被称为 anchor 。 插入符号 ^ 匹配文本的开头,美元 $ - 在结尾。

function checkEmail(str){
  var emailCheck = /^[^a-z][0-9]+$/;
  if(emailCheck.test(str)){
    console.log("**Its Valid Mail");
  }
  else{
    console.log("Its not Valid");
  }
}
var x = '122a';
checkEmail(x);

更多:Start of String and End of String Anchors in Regular Expression

关于javascript - JavaScript 中的正则表达式 [^a-z][0-9],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51413988/

相关文章:

regex - 如何在 R 中使用 grep() 从数据框中选择行

javascript - HTML - 发票 : How to add values to text field and calculate total

javascript - 使用 javascript cookie 识别访客进行调查

javascript - jQuery 不处理 -some- 按钮点击事件

PHP正则表达式问题

javascript - 数据验证和安全 : From user input to browser output – PHP/MySQL/JavaScript

regex - 偶数个 0 和 1 的正则表达式

node.js - 用于从段落中提取最后一个数字组合的正则表达式

javascript - 如何根据条件更改折线图中数据点的颜色?

javascript - 关于 $(document).bind() 的问题