簡體   English   中英

檢查字符串是否包含與正則表達式匹配的子字符串

[英]Check if string contains substring matching regex

我正在編寫腳本來檢查字符串中是否存在美國運通信用卡號碼。

我的代碼如下所示:

let amexRegex= /^3[47][0-9]{13}$/;

if(text.search(amexRegex) != -1){
    console.log('Found!');
} else {
    console.log('Not found!');
}

當我將text設置為'378734493671000' (有效的美國運通信用卡號)時,腳本將打印出“ Found! ,但如果我保留相同的文本並在文本'378734493671000 ABCDEFG'添加一些文本,例如: '378734493671000 ABCDEFG' ,則會打印出Not found!

為了找到匹配正則表達式的子字符串,我應該改變什么? 我不需要匹配正則表達式的子字符串索引,只需true \\ false。

^$限制匹配到字符串的開頭和結尾。 刪除這些可能就足夠了。

您只需要刪除分別匹配stat和行尾的^$

let amexRegex= /3[47][0-9]{13}/;
let amexRegex = /3[47][0-9]{13}/

if(amenxRegex.test(text) {
  console.log('Found!')
} else {
  console.log('Not found!')
}

請注意,僅刪除^$會導致不正確的匹配,例如更長的數字字符串。 您最好用單詞邊界代替它們:

\b3[47][0-9]{13}\b

演示版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM