简体   繁体   中英

regex that replace any chars (except number/, .)

I have a string. I need to parse it, replacing any chars (except numbers ( 0 to 9 ), , and . .

How can I do it with javascript?

Tried with :

string.replace(/[a-zA-Z]*/, "");

but seems it doesnt works. Also, I need ANY chars, not only aZ (also ?, /, white space, and so on, expect, as said, , and .

Use a negated character class

[^0-9,.]

and put in any character you don't want to be replaced, it will match all the others.

See it here on Regexr

You can optimize it by adding a quantifier + , so that it replaces a sequence of those characters at once and not each by each.

string.replace(/[^0-9,.]+/g, "");

As Felix Kling pointed out, its important to use the global option g to match on all occurrences of the pattern.

See it here on Regexr

string.replace(/[^\d,.]+/g, "");

should do.

  1. [^\\d.,] means "any character except digit, comma or period", a negated character class .
  2. Use + instead of * or you'll have lots of empty matches replaced with empty strings.
  3. Use /g so all instances are replaced.

Try to replace all chars except digits and . , and do the replace globally:

string.replace(/[^0-9\,\.]+/g, "");

Try This Below code is prevent alpha key

onKeypress="return Custom(event,'[0-9]');"

function Custom(e, cPattern) {
    var key = [e.keyCode || e.which];
    var pattern = new String(cPattern);
    var keychar = String.fromCharCode([e.keyCode || e.which]);
    var pattern1 = new RegExp(pattern);

    if ((key == null) || (key == 0) || (key == 8) ||
                        (key == 9) || (key == 13) || (key == 27)) {
        return true;
    }
    else if (pattern1.test(keychar)) {
        return true;
    }
    else {
        e.preventDefault ? e.preventDefault() : e.returnValue = false;
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM