只保留字母和数字。
--I have a dog!!!
应该导致I have a dog
I have a dog.
应该导致I have a dog
尝试用这个正则表达式替换:
/^[^a-z\d]*|[^a-z\d]*$/gi
s = "--I have a dog!!!"
s.replace(/^[^a-zA-Z\d]*(.*?)([^a-zA-Z\d])*$/, "$1")
请注意,这将完全按照您的要求进行。它将仅从字符串的开头和结尾删除非字母数字字符。字符串中间的所有非字母和非数字都不会被删除。
只需使用正则表达式并替换
'--I have a dog!!!'.replace(/[^a-zA-Z 0-9]*/g,''); // "I have a dog"
这将从字符串的每个位置删除除数字、字母和空格之外的任何其他字符。
如果您只想从开头和结尾显式删除,那么您将需要这样的东西:
'--I have !!! a dog!!!'.replace(/^[^a-zA-Z 0-9]*|[^a-zA-Z 0-9]*$/g,''); // "I have !!! a dog"
在regular-expressions.info了解更多正则表达式,也有 JavaScript 示例。
尝试这个:
var x = '--I have a dog!!!';
x = x.replace(/[^0-9A-Za-z\s]/g, '');
// results in "I have a dog"
使用正则表达式来解决这个问题:
var s = '--I have a dog!!!';
s = s.replace(/^[^a-z\d]*|[^a-z\d]*$/gi, '');