[英]JavaScript Regex - Must contain at least any 2 letter in UTF-8
現在,我正在嘗試使用以下條件創建JavaScript正則表達式:
這是我到目前為止制定的正則表達式:
/^(?![^@]*@)(?![^]*\\s\\s)\\S[^]{0,14}\\S$/
到目前為止,除了它不符合最后一個必須包含至少2個字母的條件外,它會執行以下所有操作。 例如:
"..He" //should be true
"He$*" //should be true
".." //should be false
"*%" //should be false
"!#$%^&*()" //should be false since there is no letters
"$$tonyMoney™" //should be true
"أنا أحب جاف™" //should be true
"To" //should be true
任何幫助表示贊賞! 謝謝!
您可以使用此基於XRegExp的正則表達式:
var rx = XRegExp("^(?![^@]*@)(?![^]*\\s\\s)(?=(?:\\P{L}*\\p{L}){2})\\S[^]{0,14}\\S$");
正則表達式細分:
^
- 字符串開始 (?![^@]*@)
- 字符串中沒有@
(?![^]*\\\\s\\\\s)
- 沒有兩個連續的空格 (?=(?:\\\\P{L}*\\\\p{L}){2})
- 至少2個Unicode字母 \\\\S[^]{0,14}\\\\S
- 長度為2到16個符號,字符串的開頭和結尾沒有空格。 $
- 結束字符串 請參閱正則表達式演示
var rx = XRegExp("^(?![^@]*@)(?![^]*\\\\s\\\\s)(?=(?:\\\\P{L}*\\\\p{L}){2})\\\\S[\\\\s\\\\S]{0,14}\\\\S$"); document.body.innerHTML = rx.test("..He") + " - must be true<br/>"; document.body.innerHTML += rx.test("He$*") + " - must be true<br/>"; document.body.innerHTML += rx.test("..") + " - must be false<br/>"; document.body.innerHTML += rx.test("*%") + " - must be false<br/>"; document.body.innerHTML += rx.test("!#$%^&*()") + " - must be false<br/>"; document.body.innerHTML += rx.test("$$tonyMoney™") + " - must be true<br/>"; document.body.innerHTML += rx.test("To") + " - must be true<br/>"; document.body.innerHTML += rx.test("أنا أحب جاف™") + " - must be true<br/>";
<script src="https://cdnjs.cloudflare.com/ajax/libs/xregexp/2.0.0/xregexp-all-min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.