我正在尝试验证字符串以使我们的有效网址
我只需保留A-Z 0-9并使用 javascript 或 jquery
从字符串中删除其他字符例如:
Belle's Restaurant
我需要将其转换为:
千-S-餐厅
所以删除了字符,只保留了A-Z a-z 0-9
感谢
答案 0 :(得分:51)
通过将我们的.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--------------"
。
答案 1 :(得分:4)
或者如果你想把破折号放在其他字符的位置:
string.replace(/[^a-zA-Z0-9]/g,'-');
答案 2 :(得分:2)
假设字符串保存在名为BizName
的变量中:
BizName.replace(/[^a-zA-Z0-9]/g, '-');
BizName
现在应仅涉及所请求的字符。