只保留A-Z 0-9,并使用javascript从字符串中删除其他字符

我正在尝试验证字符串,使其成为有效的URL

我只需要保持A-Z 0-9,并使用javascript或jquery从字符串中删除其他字符

例如 :

百丽餐厅

我需要将其转换为:

百丽-S-餐厅

所以删除字符,只保留A-Z a-z 0-9

谢谢

通过将.cleanup()方法添加到String对象本身,您可以通过调用本地方法来清除Javascript中的任何字符串,如下所示:

# Attaching our method to the String Object
String.prototype.cleanup = function() {
   return this.toLowerCase().replace(/[^a-zA-Z0-9]+/g, "-");
}

# Using our new .cleanup() method
var clean = "Hello World".cleanup(); // "hello-world"

因为在正则表达式的末尾有一个加号,它匹配一个或多个字符。因此,对于一个或多个非字母数字字符的每个系列,输出将始终具有一个“ – ”

# An example to demonstrate the effect of the plus sign in the regular expression above
var foo = "  Hello   World    . . .     ".cleanup(); // "-hello-world-"

没有加号,结果将是最后一个例子的“–hello-world ————–”。

翻译自:https://stackoverflow.com/questions/1983767/only-keep-a-z-0-9-and-remove-other-characters-from-string-using-javascript

转载注明原文:只保留A-Z 0-9,并使用javascript从字符串中删除其他字符