正如标题所说,我正在寻找帮助检查javascript中的字符串是否包含特殊字符或空格(但允许使用连字符,字符串末尾除外)。
例如,如果字符串是'laskdfja saldfja sldkfj alsd#$@ @#$KL@ @KL$',则返回true;如果字符串是'dskfj-dflsk‘,则返回false,或者'sdkfj-’返回true。
有人能帮上忙吗?提前谢谢?
发布于 2018-09-18 07:13:24
这个正则表达式:/(?=[^\w-]+|-$)/
将执行您想要的操作。它使用正向先行查找字符串中的非字符(单词字符或连字符),或者字符串以-
结尾。
let strings = ['laskdfja saldfja sldkfj alsd#$@ @#$KL@ @KL$',
'dskfj-dflsk',
'sdkfj-'];
console.log(strings.map(s => /(?=[^\w-]+|-$)/.test(s)));
发布于 2018-09-18 07:08:37
"SomeString".charCodeAt(0); //returns 83
将返回一个数字,表示给定索引处字符的UTF-16代码单元值(在本例中为0)
然后,您可以遍历字符串并检查数字是否都不在48到122 (含)或45 (连字符的数字)的范围内,然后检查最后一个字符是否为连字符
https://stackoverflow.com/questions/52376608
复制相似问题