JavaScript 正则表达式,用于检查单个特殊字符是否在字符串中出现一次
JavaScript regular expression to check single special character to occur once in a string
我有一个这样的正则表达式
var regEx = /^([0-9a-z]{7})$|^([0-9a-z-]){8}$/ig;
如果字符串长度为 8,我必须检查"-"(连字符)是否在输入字符串中只出现一次。
我可以使用javascript检查它,但我想知道它是否可以用正则表达式完成
您可以使用负值预瞻:
/^[0-9a-z]{7}$|^(?!.*-.*-)[0-9a-z-]{8}$/ig
更新
如果长度为 7,下面的正则表达式不允许使用连字符,如果长度为 8,则允许使用一个(并且不再)连字符:
^[0-9a-z]{7}$|^(?=[^-]*-[^-]*$)[0-9a-z-]{8}$
相关文章:
- 我可以使用JS一次使用JSON数组中的一个字符串吗
- 一次单击一下即可在句子中显示大字符串
- 字符串拆分并获取第一次和最后一次出现
- Node.js一次替换多个字符串
- Javascript 字符串验证.如何在字符串中只写一次字符,并且只在开头写一次
- 如何使用 javascript 一次显示此数组的字符串内容
- 如何让 JavaScript 一次运行一个字符串
- 将匹配字符串中最后一次出现的点的正则表达式
- JavaScript 正则表达式,用于检查单个特殊字符是否在字符串中出现一次
- 删除/隐藏链接后最后一次出现的字符串
- JS字符串仅替换每隔一次
- 删除javascript中最后一次出现的字符串
- 如何使用String.charCodeAt();一次获取和存储字符串中每个字母的char代码值并存储它们
- Javascript Regex匹配字符串最后一次出现后的所有内容
- 在字符串中特定字符最后一次出现之前插入
- 使用javascript进行大写,每隔换行一次,并在每一新行的开头添加字符串
- regex-查找最后一次出现之前的字符串
- 一次加载两个HTML文档(从字符串加载iframe内容)
- 使用javascript replace()来匹配字符串的最后一次出现
- 缓存——一次用查询字符串更新多个js文件