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/