簡體   English   中英

從文本區域過濾正則表達式編號

[英]Regex number filtering from textarea

我一直在尋找如何使用regex函數過濾textarea內的數據的方法已經有一段時間了,但沒有成功。 以下是我要用來過濾英國電話號碼的正則表達式。

(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?

小提琴: https : //jsfiddle.net/qdypo04y/

我想獲得結果,當單擊按鈕時,它將刪除不符合正則表達式的行? 或者,將刪除不是英國電話號碼的值。

任何指導將不勝感激。

除了使用textarea元素之外,您的問題是:

一個例子是:

 document.querySelector('button').addEventListener('click', function(e) { var txtArea = document.querySelector('textarea[rows="4"][cols="50"]'); var re = /(((\\+44\\s?\\d{4}|\\(?0\\d{4}\\)?)\\s?\\d{3}\\s?\\d{3})|((\\+44\\s?\\d{3}|\\(?0\\d{3}\\)?)\\s?\\d{3}\\s?\\d{4})|((\\+44\\s?\\d{2}|\\(?0\\d{2}\\)?)\\s?\\d{4}\\s?\\d{4}))(\\s?\\#(\\d{4}|\\d{3}))?/; var txtArr = txtArea.textContent.split('\\n'); txtArr.forEach(function(ele, idx) { txtArr[idx] = ele + ' test result is: ' + re.test(ele); }); txtArea.textContent = txtArr.join('\\n'); }); 
 <textarea rows="4" cols="50"> +447222555555 0800 042 0213 2017/07/14 2017/07/17 2017/07/27 </textarea> <button>Click me</button> 

<script>
function myFunction() { 
    var regexp = /(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?/;
    var content=$.trim($("textarea").val()).split('\n');
    var result="";
    for(var i = 0;i < content.length;i++){
        if(regexp.test(content[i])){
            result=result+content[i]+'\n';          
        }
    }
    $("textarea").val(result);
}

</script>

使用JQuery從textarea獲取值

暫無
暫無

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

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