Getting ls to ignore ~ and # files

Is there a way to customize ls to ignore files ending with ~ and #? (those are Emacs backup and auto-save files). I found -B option, which only ignores ~ files

ls | egrep -v "(#|~)$"

With zsh:

ls ^*[#~]

ksh:

ls !(*[#~])

bash:

shopt -s extglob
ls !(*[#~])