Vue小程序项目知识积累(一)

发布于:2024-05-18 ⋅ 阅读:(168) ⋅ 点赞:(0)

1.JS中的substring() 方法:

substring() 方法用于提取字符串中介于两个指定下标之间的字符,包括空格键。

substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。

string.substring(from, to)

from:必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。

to:可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。
如果省略该参数,那么返回的子串会一直到字符串的结尾。

例:

const obj="abc def ghi jkl mno p";

//相当于从第三位开始截取,不包括前,然后到最后加一个回车

console.log("obj.substring(3)+"<br>"");//def ghi jkl mno p 
 

//相当于从第二位开始截取到第八位,不包括前但是包括后,空格不显示出来

console.log("obj.substring(2,8)");//c def

2.JS中的replace() 方法:

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

string.replace(searchvalue,newvalue)

searchvalue:必须。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字                         符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

newvalue:必需。一个字符串值。规定了替换文本或生成替换文本的函数。

例:

const obj=""Mr Blue has a blue house and a blue car";

//blue替换成red

console.log(obj.replace(/blue/g,"red"));//Mr Blue has a red house and a red car

//忽略大小写的格式

console.log(obj.replace(/blue/gi,"red"));//Mr red has a red house and a red car

3.JS中的正则判断。

RegExp 构造函数用于创建正则表达式对象。

例:尝试创建一个正则表达式对象,该对象匹配由数字组成的字符串。

  1. 正则表达式中的量词 {n} 用于指定前面的元素恰好出现 n 次。在正则表达式中,{n} 前面需要有空格。

  2. 使用 test 方法时,应该将正则表达式和要测试的字符串作为参数传递。在这个例子中,obj 应该是一个字符串。

const num = /* 这里是你要匹配的数字数量 */;
const regex = new RegExp(`\\d{${num}}`, 'g'); // 注意空格
const str = obj.toString(); // 确保 obj 是一个字符串
const result = regex.test(str);

result 将是一个布尔值,表示 obj 是否至少包含一个符合正则表达式 \\d{num} 的子串。

请注意,如果 obj 不是一个字符串,那么在调用 toString() 之前,你需要先检查它的类型,以确保它转换为字符串是安全的。

正则匹配:

1.检查手机号格式是否正确,以1开头的11位数字  :  /^1\d{10}$/

2.邮箱地址:/^((^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)+)|(".+"))@((\[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

Tip:

这段正则表达式是一个用于验证电子邮件地址的模式,它尝试匹配符合一般电子邮件地址格式的字符串。该模式使用了几个正则表达式的元字符和构造来实现这一点。让我们来分解一下:

  1. ^ - 它断言行的开始。
  2. ((^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)+)|(".+")) - 这是一个非捕获组,它检查电子邮件地址中是否存在两种可能的模式:
    • 第一个模式是 ^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)+,它看起来是在电子邮件地址中查找以 <>()[]\\.,;:\s@" 开头的模式,后面跟着一个或多个不是 <>()[]\\.,;:\s@" 的字符,并以一个点号 . 结束,然后跟着一个或多个不是 <>()[]\\.,;:\s@" 的字符。这是一个非常具体的模式,可能不会匹配所有有效的电子邮件地址。
    • 第二个模式是 (".+"),它看起来是在电子邮件地址的开头有一个双引号 ",后面跟着一个或多个字符。这是电子邮件地址本地部分更常见的模式。
  3. @ - 它断言电子邮件地址中存在 "@" 符号。
  4. (($ 0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} $)|(([a-zA-Z\-0-9]+\.)+[a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}) - 这是一个非捕获组,它检查电子邮件地址的域名部分是否存在两种可能的模式:
    • 第一个模式是 ($ 0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} $),它看起来是在方括号中查找一个字面的IP地址。
    • 第二个模式是 (([a-zA-Z\-0-9]+\.)+[a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,},它看起来是一个由字母数字字符和连字符组成的域名,后面跟着一个或多个点号,并以两个或更多的字母字符结束。
  5. $ - 它断言行的结束。

这个正则表达式相当复杂,可能无法涵盖所有根据官方规范(RFC 5322和RFC 6530用于国际化电子邮件地址)有效的电子邮件地址格式。需要注意的是,通过正则表达式验证电子邮件地址在本质上是不完美的,因为根据标准,有效的电子邮件地址格式有很多种。

const email = "example@email.com";
const regex = /^((^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)+)|(".+"))@(($ 0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} $)|(([a-zA-Z\-0-9]+\.)+[a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,})$/;

if (regex.test(email)) {
  console.log("有效的电子邮件地址");
} else {
  console.log("无效的电子邮件地址");
}

这是正则表达式中可用的其他一些修饰符:

  • i:不区分大小写的匹配。
  • m:多行模式,影响 ^ 和 $ 的行为。
  • y:粘连模式,影响 ^ 和 $ 的行为,与 m 修饰符类似。
  • u:Unicode 模式,影响一些特殊字符的行为。
  • s:点号 . 匹配包括换行符在内的所有字符。
  • c:单行模式,^ 和 $ 匹配字符串的开始和结束。
  • g:在整个输入字符串中查找匹配,而不是在找到第一个匹配后停止。返回所有匹配项,而不是只返回第一个匹配项。


网站公告

今日签到

点亮在社区的每一天
去签到