我试图在角度控制器中引入正则表达式以进行名称验证。我只能在名称之间使用字母,正斜杠,连字符和单个空格。字符串后我不能有空格。所以&#34; John- \ Doe&#34;是有效的,&#34; John- \ Doe- \ Do- \ e Doe&#34;是有效但是&#34; John- \ Doe&#34;,单词之间有2个或更多的空格无效,&#34; John- \ Doe&#34;,最后一个单词后面的一个或多个空格无效。< / p>
这是我到目前为止:^ [a-zA-Z - ] +([a-zA-Z - ] +)* $ 我的正则表达式阻止了名称之间的空格,但我不确定如何在最后一个单词之后验证一个空格。我试过了:[^ a-zA-Z / - ] + | [\ s] {2,}这对我不起作用。非常感谢任何指导。
答案 0 :(得分:1)
您是否可以为用户修复它?如果是这样,这是trim方法的一个很好的应用。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim
"John Doe ".trim() == "John Doe" // true
总是可以检查以查看提供的内容是否等于修剪后的版本..虽然这有点邋..如果"John Doe ".trim() == "John Doe"
为false
,那么您知道 空格之前或之后。