您好!欢迎访问家园网-www.jy.wang!

家园网

emailRegex.test(emailVal)是个啥?这三个词是自定义的还是规定好的啊

网络 作者:本站 点击:

emailRegex.test(emailVal)是个啥?这三个词是自定义的还是规定好的啊


emailRegex.test(emailVal) 详细讲解

您问的这个问题非常关键!这三个词中,有的是规定好的,有的是自定义的。让我逐一分析。


一、三个词的来源分析

javascript

emailRegex.test(emailVal)
    ↓         ↓        ↓
   ①         ②        ③

序号来源说明
emailRegex自定义我们自己定义的变量名,可以改成任何名字
test规定好的JavaScript 正则表达式对象的内置方法
emailVal自定义我们自己定义的变量名,可以改成任何名字

二、emailRegex - 自定义变量

定义方式

javascript

var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

变量名可以随便改

javascript

// 以下写法都是正确的var myRegex = /.../;var emailPattern = /.../;var reg = /.../;var a = /.../;

为什么叫 emailRegex

  • email:表示这个正则用于验证邮箱

  • Regex:Regular Expression(正则表达式)的缩写

  • 这是命名规范,不是语法要求


三、test - 规定好的内置方法

是什么?

test() 是 JavaScript 正则表达式对象的内置方法,是 ECMAScript 标准规定的,不是自定义的。

词源

单词含义
test测试、检测

语法

javascript

regexObject.test(string)

作用

测试字符串是否匹配正则表达式模式。

返回值

返回值含义
true字符串匹配正则表达式
false字符串不匹配正则表达式

示例

javascript

var regex = /^\d+$/;  // 匹配纯数字regex.test("123");     // true  ✅ 匹配regex.test("abc");     // false ❌ 不匹配regex.test("12a3");    // false ❌ 不匹配


四、emailVal - 自定义变量

定义方式

javascript

var emailVal = email.value.trim();

变量名可以随便改

javascript

// 以下写法都是正确的var emailValue = email.value.trim();var emailString = email.value.trim();var str = email.value.trim();var x = email.value.trim();

为什么叫 emailVal

  • email:表示这是邮箱相关的值

  • Val:Value(值)的缩写

  • 这是命名规范,不是语法要求


五、正则表达式对象的方法汇总

方法作用返回值示例
test()测试是否匹配true/falseregex.test("abc")
exec()执行匹配,返回详细信息数组或nullregex.exec("abc")

test() vs exec() 对比

javascript

var regex = /(\d+)/;regex.test("abc123");     // true(只告诉你是否匹配)regex.exec("abc123");     // ["123", "123"](返回匹配的详细信息)


六、完整代码的命名来源

javascript

var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;var emailVal = email.value.trim();if (!emailRegex.test(emailVal)) {
    alert("邮箱格式错误!");
    email.focus();
    return false;}

命名对照表

代码类型是否规定能否改名
emailRegex变量名❌ 自定义✅ 可以
=赋值运算符✅ 规定❌ 不能
/.../正则字面量✅ 规定❌ 不能
emailVal变量名❌ 自定义✅ 可以
.属性访问✅ 规定❌ 不能
test方法名✅ 规定❌ 不能
(函数调用✅ 规定❌ 不能
)函数调用✅ 规定❌ 不能

七、改名示例(证明可以自定义)

javascript

// 原代码var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;var emailVal = email.value.trim();if (!emailRegex.test(emailVal)) { ... }// 改个名字(功能完全相同)var myPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;var myValue = email.value.trim();if (!myPattern.test(myValue)) { ... }// 再改个名字(功能完全相同)var a = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;var b = email.value.trim();if (!a.test(b)) { ... }


八、总结

问题答案
emailRegex 是自定义的吗?✅ 是,变量名可以随便取
test 是自定义的吗?❌ 不是,是 JavaScript 规定好的内置方法
emailVal 是自定义的吗?✅ 是,变量名可以随便取
整个表达式是什么意思?用正则表达式测试邮箱字符串是否合法

一句话总结emailRegex 和 emailVal 是我们可以自由命名的变量名,而 test() 是 JavaScript 正则表达式对象规定好的内置方法,用于检测字符串是否匹配正则表达式的规则



标签: