亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用正則表達式檢查模式時出現問題

使用正則表達式檢查模式時出現問題

白豬掌柜的 2023-06-15 16:38:14
我在手動檢查我的輸入是否與我的模式匹配時遇到問題這是我用來檢查它的功能if (!$element.attr("pattern")) return true;    let pattern = $element.attr("pattern");    let exp;    if (pattern.charAt(0) === "^") exp = new RegExp(pattern);    else exp = new RegExp('^' + pattern + '$');    if (exp.test($element.val())) return true;    else {        return false;    }我已經檢查過沒有我用來設置 var“exp”的 ifelse,但結果是一樣的。這是我要檢查的輸入<input class="k-textbox cyclique-input-popin" type="text" pattern="^[0-9]+([,][0-9])?$"/>它的值為 0.25,我希望它能夠具有這樣的值:1,251,20,220...可以有一個“,”或沒有,但不能有像 1,20 這樣的尾隨零
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

(1) 您當前的模式允許尾隨零,并且 (2) 該模式只允許逗號右側的一位數字。你想要這樣的東西:


<input ... pattern="^[0-9]+(,[0-9]*[^0])?$">

最后,你的代碼可以簡化一些:


let pattern = $element.attr('pattern');

if (!pattern) {

  return true;

}


let exp;

if (pattern[0] === '^') {

  exp = new RegExp(pattern);

} else {

  exp = new RegExp('^' + pattern + '$');

}


return exp.test($element.val()));

讓我知道這是否能讓您得到想要的結果。祝你好運。


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號