Tom Jacob
Tom Jacob

Reputation: 107

Regex number filtering from textarea

I have been looking for way how I could filter data within textarea using regex function for a quite a while now without any success. Below is the regex I want to use to filter UK telephone numbers.

(((\+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}))?

Fiddle: https://jsfiddle.net/qdypo04y/

I want to achieve the result when the button is clicked it will remove lines which do not meet the regex? Alternatively would remove values which are not UK telephone numbers.

Any guidance would be appreciated.

Upvotes: 1

Views: 155

Answers (2)

Sarath
Sarath

Reputation: 608

<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>

used JQuery to take the value from textarea

Upvotes: 0

gaetanoM
gaetanoM

Reputation: 42054

Apart the use of textarea element your issue is:

An example is:

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>

Upvotes: 1

Related Questions