我想制作一个正则表达式来验证特定类型的字符串。
验证字符串的条件如下:
我尝试了很多但没有取得任何成功,因为我需要单个正则表达式来满足所有条件。
答案 0 :(得分:1)
正则表达式可能包含所谓的“类”,预定义或自定义字符集。尝试使用预定义的[:alpha:]或自定义,如[0-9 *。><]等。使用“^”字符查找类否定,并通过在“\”前面添加特殊字符来转义。
答案 1 :(得分:1)
尝试:
/^[^.\-][^\/:*?"<>|]+[^.\-]$/
编辑:此正则表达式应该有效:
/^(?![.\-])(?:[^\\\/:*?"<>|])*[^.\-\\\/:*?"<>|]$/
但是你可以看到它变得非常难以理解和丑陋我觉得你最好用这样的功能逐步完成它:
function isValidString(str) {
return /^[^.\-]/.test(str) &&
/[^.\-]$/.test(str) &&
/[^\\\/:*?"<>|]+/.test(str);
}