php - PHP允许字母和减号但不能重复减号
问题描述
我想在任何字符集(拉丁文、希伯来文、西里尔文但不是 unicode 表情符号)中允许所有字母和减号(-),但它不应该允许每次使用减号超过一次,而不是在开始和结束时使用:
YaMo -> OK
Ya-Mo -> OK
Ya-Mo-Ga -> OK
Ya--Mo -> FALSE
Ya---Mo -> FALSE
-Ya -> FALSE
-Ya-Mo- -> FALSE
Ya- -> FALSE
Yo-Mo- Mo -> FALSE
Yo-Mo -Go -> FALSE
到目前为止,我有:
preg_match('/^[\p{L} -]+$/', $post['firstname'])
它不关心多次出现以及是否在开始或结束。是否存在任何正则表达式方法来做到这一点?
作为解决方法,我现在检查 substr 第一个和最后一个字母!= '-' 并使用 strpos 检查'--'。
提议的类似副本是错误的,因为它不能正常工作,它允许:Yo-Mo-Mo
解决方案
推荐阅读
- sql - 在 SQL (Oracle) 中注释表时的语法
- ignite - 使用绝对路径点燃配置
- ios - 快速下拉文本对齐
- java - 大型字符串资源减慢了我的应用程序
- c++ - 访问 typedef's/using's 的模板参数
- java - neo4j java 程序示例因 NoClassDefFoundError 而失败
- actions-on-google - Dialogflow,Google 助理:出现错误“必须设置 MalformedResponse 'final_response'”
- html - 悬停时的CSS动画第二个div
- firebase-cloud-messaging - Firebase 云消息传递在应用程序运行时不通知
- linux - 将“模块”别名(调用 modulecmd)从 tcsh 调整为 bash