我正在嘗試使用 javascript 驗證文本,但可以找出它不起作用的原因。
我一直在使用:https : //regex101.com/來測驗它的作業原理,但在我的腳本中它失敗了
var check = "test"
var pattern = new RegExp('^(?!\.)[a-zA-Z0-9._-] $(?<!\.)','gmi');
if (!pattern.test(check)) validate_check = false;else validate_check = true;
我正在尋找的是第一個和最后一個字符而不是點,并且字串可能包含 [a-zA-Z0-9._-]
但是上面的檢查總是失敗,即使是在這個詞上:test
uj5u.com熱心網友回復:
$(?<!\.)在您的RegEx 中無效
$將匹配文本或行的結尾(帶有m標志)- Negative lookbehind →
(?<!Y)X將匹配X,但前提Y是不在它之前
uj5u.com熱心網友回復:
更簡單的 RegEx 怎么樣?
var checks = ["test", "1-t.e_s.t0", ".test", "test.", ".test."];
checks.forEach(check => {
var pattern = new RegExp('^[^.][a-zA-Z0-9\._-] [^.]$','gmi');
console.log(check, pattern.test(check))
});
您的代碼應如下所示:
var check = "test";
var pattern = new RegExp('^[^.][a-zA-Z0-9\._-] [^.]$','gmi');
var validate_check = pattern.test(check);
console.log(validate_check);
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/334964.html
標籤:javascript
下一篇:Vuetify在按鍵上搜索
