我试图验证字符串,以便将其转换为有效的URL
我需要使用javascript或jquery仅保留A-Z 0-9并从字符串中删除其他字符
例如:
Belle’s Restaurant
我需要将其转换为:
Belle-s-Restaurant
因此,字符’s被删除,仅保留A-Z a-z 0-9
谢谢
我试图验证字符串,以便将其转换为有效的URL
我需要使用javascript或jquery仅保留A-Z 0-9并从字符串中删除其他字符
例如:
Belle’s Restaurant
我需要将其转换为:
Belle-s-Restaurant
因此,字符’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--------------"
。string.replace(/[^a-zA-Z0-9]/g,'-');
BizName
的变量中:BizName.replace(/[^a-zA-Z0-9]/g, '-');
BizName
现在只应包含所请求的字符。
’
。虽然这不会影响此处的解决方案,因为UTF-8保证ASCII代码不会出现在多字节代码中,但我认为您仍应更新您的代码以使用正确的文本编码。如果您在此处犯了这个错误,其他人可能会复制您的代码并在其他地方犯同样的错误,这将向您的客户显示。 - Mark Byers