您的位置:MYSQL中文网 > 微信小程序 正则表达式 微信小程序云开发API 构造正则对象

微信小程序 正则表达式 微信小程序云开发API 构造正则对象

2023-07-19 21:30

微信小程序 正则表达式 微信小程序云开发API 构造正则对象

微信小程序 正则表达式

微信小程序是一种新型的应用,它可以在微信中运行,提供丰富的功能和服务。正则表达式是一种用于检测字符串中特定模式的工具,在微信小程序中也有广泛的应用。

正则表达式可以帮助我们快速验证字符串中是否包含特定的内容,例如验证手机号、邮箱地址、身份证号等。在微信小程序中,我们可以使用正则表达式来验证用户输入的内容是否正确,避免出现不必要的错误。

// 验证手机号
let reg = /^1[3-9]\d{9}$/; 
if (reg.test(phone)) { 
    // 手机号格式正确 
} else { 
    // 手机号格式不正确 
} 

微信小程序云开发API 构造正则对象

db.RegExp

从基础库 2.3.2 开始(wx-server-sdk 从 0.0.23 开始),数据库支持正则表达式查询,开发者可以在查询语句中使用 JavaScript 原生正则对象或使用 db.RegExp 方法来构造正则对象然后进行字符串匹配。在查询条件中对一个字段进行正则匹配即要求该字段的值可以被给定的正则表达式匹配,注意正则表达式不可用于 db.command 内(如 db.command.in)。

使用正则表达式匹配可以满足字符串匹配需求,但不适用于长文本 / 大数据量的文本匹配 / 搜索,因为会有性能问题,对此类场景应使用文本搜索引擎如 ElasticSearch 等实现。

db.RegExp 定义如下:

function RegExp(initOptions: IInitOptions): DBRegExp

interface IInitOptions {
  regexp: string // 正则表达式,字符串形式
  options: string // flags,包括 i, m, s 但前端不做强限制
}

options 支持 i, m, s 这四个 flag,注意 JavaScript 原生正则对象构造时仅支持其中的 i, m 两个 flag,因此需要使用到 s 这个 flag 时必须使用 db.RegExp 构造器构造正则对象。flag 的含义见下表:

flag说明
i大小写不敏感
m跨行匹配;让开始匹配符 ^ 或结束匹配符 $ 时除了匹配字符串的开头和结尾外,还匹配行的开头和结尾
s让 . 可以匹配包括换行符在内的所有字符

基础用法示例:

// 原生 JavaScript 对象
db.collection("todos").where({
  description: /miniprogram/i
})

// 数据库正则对象
db.collection("todos").where({
  description: db.RegExp({
    regexp: "miniprogram",
    options: "i",
  })
})

// 用 new 构造也是可以的
db.collection("todos").where({
  description: new db.RegExp({
    regexp: "miniprogram",
    options: "i",
  })
})
阅读全文
以上是MYSQL中文网为你收集整理的微信小程序 正则表达式 微信小程序云开发API 构造正则对象全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS