banner
SlhwSR

SlhwSR

热爱技术的一名全栈开发者
github
bilibili

彻底プレイ6規則(2)

エスケープ#

小数点を含む値を検証する場合の書き方を考えます:

let str=12.24
  // .は改行以外の任意の文字を表し、, したがってエスケープする必要があります
  // /.
    /\d+\.\d+/.test(str)  //true
  // /d+は1つ以上の数字に一致します

オブジェクトを使用して作成

//ここで渡されるのは文字列であり、リテラルではありません。
let reg=new RegExp("\d+\.\d+","g")
reg.test(str) //false  

同じパターンがリテラルでは一致するが、オブジェクトでは一致しない理由は?

理由

console.log("/d"==="d") //true
console.log("//d"==="/d") //true

したがって、オブジェクトを作成する際には次のようにします:

//ここで渡されるのは文字列であり、リテラルではありません。
let reg=new RegExp("\\d+\\.\\d+","g")
reg.test(str) //false  

#

ウェブサイトを定義します:

let url="https://www.iyysxz.top"
log(/https?:\/\/\w+\.\w+\.\w+/.test(url))

例 2#

ユーザー名が最初の文字で始まり、数字で終わらない 15 文字以内であることを希望する場合。

<input name="user" type="text">
<srcipt>
  const ele=document.querySelector("[name='user']")
  ele.addEventLisitenr("keyup",function(){
    this.value.match(/^[a-z]/w{3,14}$/)
  })
</srcipt>
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。