[英]Regex that allows a single whitespace in the middle but with character limit.
[英]Regex which allows alphanumeric character and only single "-"
我需要防止用戶在輸入字段中輸入以下字符
~!#$%^&*()+/\"'`:;{}[]|<>=–
請注意–
是連續的 2 -
我試過了^[az ]+([-])[az ]
這是@Rohan 的/@mplungjan 的答案的變體。 由於驗證將在提交時完成,因此在您輸入時不會阻止輸入多個“-”。
<form onsubmit="return false"> <input type="text" pattern="^[\w\s]*-?[\w\s]*$" title="Only letters, numbers, whitespaces and one '-' are allowed"> <input type="submit" /> </form>
這是另一個基於 JavaScript 的版本,它將悄悄地刪除任何不需要的字符:
const pattern=/^[\w\s]*-?[\w\s]*$/ document.querySelector("input").addEventListener("input",ev=>{ ev.target.value=ev.target.value.replace(/[^a-zA-Z0-9 -]/g,"").replace(/-(?=.*-)/,"") })
<form onsubmit="return false"> <input type="text"> <input type="submit" /> </form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.