Creating javascript regex tp replace characters using whitelist -
i'm trying create regex replace characters not in specified white list (letters,digits,whitespaces, brackets, question mark , explanation mark)
 code :
var regex = /^[^(\s|\w|\d|()|?|!|<br>)]*?$/;     qstr += tempstr.replace(regex, ''); what wrong ?
thank you
- the anchors wrong - allow regex match entire string
- the lazy quantifier wrong - wouldn't want regex match 0 characters (if have removed anchors)
- the parentheses , pipe characters wrong - don't need them in character class.
- the <br>wrong - can't match specific substrings in character class.
- the \dsuperfluous since it's contained in\w(thanks alex k.!)
- you're missing global modifier make sure can more 1 replace.
- you should using +instead of*in order not replace lots of empty strings themselves.
try
var regex = /[^\s\w()?!]+/g; and handle <br>s independently (before regex applied, or brackets removed).
Comments
Post a Comment