如何检查字符串在 javascript 中是否包含特殊字符或空格(但允许连字符,字符串末尾除外)?



正如标题所说,我正在寻找帮助,检查字符串是否包含JavaScript中的特殊字符或空格(但允许连字符,除了字符串的末尾(。

例如,如果字符串是 'laskdfja saldfja sldkfj alsd#$@ @#$KL@ @KL$',则返回 true,如果字符串是 'dskfj-dflsk' 则返回 false,或 'sdkfj-' 返回 true。

谁能帮忙?提前感谢?

这个正则表达式:/(?=[^w-]+|-$)/会做你想做的事。它使用积极的前瞻来查找字符串中的非(单词字符或连字符(,或者字符串以-结尾。

let strings = ['laskdfja saldfja sldkfj alsd#$@ @#$KL@ @KL$',
'dskfj-dflsk',
'sdkfj-'];
console.log(strings.map(s => /(?=[^w-]+|-$)/.test(s)));

"SomeString".charCodeAt(0);     //returns 83

将返回一个数字,表示给定索引处字符的 UTF-16 代码单位值(在本例中为 0(

然后,您可以遍历字符串并检查所有数字是否超出 48 到 122(含(的范围或 45(连字符的数字(,然后检查最后一个字符是否为连字符

最新更新