第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在正則表達(dá)式的keyup上僅替換當(dāng)前錯誤的字符?

如何在正則表達(dá)式的keyup上僅替換當(dāng)前錯誤的字符?

泛舟湖上清波郎朗 2022-01-01 18:37:34
我希望從我的輸入文本中替換任何不是護(hù)照格式(A9999999)的字符。我寫了以下內(nèi)容(此處為 jsfiddle):HTMLDoc Type <input id='docType' value = 'PASS'/> <br>Doc ID <input id='docId'/>JS:$(document).ready(function () {    var docTypeVal = $("#docType").val();    $('#docId').keyup(function() {        if(docTypeVal == "PASS") {            var $th = $(this);            $th.attr("maxlength","8");            if($th.val().length <= 1) {                $th.val().replace(/[^a-zA-Z]/g, function(str) {                     alert('You typed " ' + str + ' ".\n\nPlease use correct format.');                     return '';                 })            }            else if($th.val().length <= 8 && $th.val().length > 1) {                $th.val().replace(/^(?!.*^([a-zA-Z]){1}([0-9]){7}$)/, function(str) {                     alert('You typed " ' + str + ' ".\n\nPlease use correct format.');                     return '';                 })            }        }    });});但是,首先,這不會替換任何字符(錯誤/正確)。其次,它會在我輸入第二個字符的那一刻發(fā)出警報。如果它是字母表,它應(yīng)該接受第一個字符(否則替換),從第二個到第 8 個字符它應(yīng)該只接受數(shù)字(否則替換)。
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻(xiàn)1803條經(jīng)驗 獲得超3個贊

參考了Twisty 的JS,發(fā)現(xiàn)應(yīng)該如下圖所示:


if(docTypeVal == "PASS") {

  $(this).attr("maxlength","8");

  var term = $(this).val();

  var re = /^[a-zA-Z]{1}\d{0,7}$/i;

  if (re.test(term)) {

      $(this).removeClass("invalid");

      return true;

    } else {

      $(this).addClass("invalid");

      $(this).val(term.replace(term.charAt(term.length-1), 

      function(str) { 

      alert('You typed " ' + str + ' ".\n\nPlease use correct format.'); 

      return ''; 

    }));

    return false;

   }

 }


查看完整回答
反對 回復(fù) 2022-01-01
?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗 獲得超9個贊

您可以使用 1 個正則表達(dá)式進(jìn)行測試。


/^[a-z]?\d{0,7}$/i


這種模式看起來A9最多A9999999。它將失敗AA或99。


示例:https : //jsfiddle.net/Twisty/awL0onjg/20/


JavaScript


$(function() {

  var docTypeVal = $("#docType").val();

  $('#docId').keyup(function(e) {

    var exc = [

      11, // Tab

      127, // Del

    ];

    if (exc.indexOf(e.which) > -1) {

      return true;

    }

    var term = $(this).val();

    var re = /^[a-z]?\d{0,7}$/i;


    console.log("Testing:", term, re.test(term));

    if (re.test(term)) {

      $(this).removeClass("invalid");

      return true;

    } else {

      $(this).addClass("invalid");

    }

  });

});

.keydown()如果您想防止用戶在該模式之外輸入,請考慮使用。查看更多。


查看完整回答
反對 回復(fù) 2022-01-01
  • 2 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號