Javascript,字符串格式:我需要将字符串的前4个字母,小写字母,空格撇除,删除符号

Ham*_*ter 2 javascript regex string formatting

...我应该列出它们:

  1. 前4个字母/数字,...
  2. 全部小写。
  3. 空格被剥离。
  4. 符号已删除。

应该很简单。最好的方法是什么?

bob*_*nce 5

  1. slice(0, 4)
  2. toLowerCase()
  3. replace(/\s/g, '')
  4. replace(/[^\w\s]/g, '')

可以将第三和第四个正则表达式更简单地组合在一起\W,以删除所有非字母数字(如果需要的话)。如果要删除的“符号”比这更具体,则必须将它们明确地放在字符类中,例如。/[!"#...]/g。如果仅是要删除字符串开头和结尾的空格(“修剪”),请执行以下操作:

replace(/^\s+/, '').replace(/\s+$/, '')
Run Code Online (Sandbox Code Playgroud)

代替。(*)

以适当的顺序将它们链接在一起。如果要在删除不需要的字符后将其切成四个字符:

var processed= str.replace(/\W/g, '').toLowerCase().slice(0, 4);
Run Code Online (Sandbox Code Playgroud)

(*:string.trim()在ECMAScript Fifth Edition中也可用,但并非所有浏览器都支持它。如果您想今天在所有浏览器上使用,可以向其中寻求trim()支持:)String.prototypestring.trim()

if (!('trim' in String.prototype)) {
    String.prototype.trim= function() {
        return (''+this).replace(/^\s+/, '').replace(/\s+$/, '');
    };
}
Run Code Online (Sandbox Code Playgroud)