JavaScript Regex-必须至少包含UTF-8中的任何2个字母
JavaScript Regex - Must contain at least any 2 letter in UTF-8
现在,我正在尝试创建一个具有以下条件的JavaScript正则表达式:
- 接受所有UTF-8字符
- 单词之间允许有空格,如何只有1个空格而不能有多个空格
- 允许所有符号,例如:!#$%^&()_-={}[]除了:"@"
- 字符串后面或前面没有尾随空格
- 范围应为2-16个字符,包括空格
- 并且字符串中必须至少包含2个字母字符
以下是我迄今为止制定的Regex:
/^(?![^@]*@)(?![^]*'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个符号,字符串的开头和结尾没有空格$
-字符串末尾
查看regex演示
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>
相关文章:
- 使用jQuery 1.8.1准备好多个$(document).是否有任何开销
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 如果同一页面上有多个谷歌地图,单击任何标记都会突出显示最底部的地图标记
- javascript测试是否存在两个标志中的任何一个
- Jquery自动完成:如果没有选择任何项目,则使tab键选择第一个项目
- 在 1 个方法中增加变量值会触发另一个方法的 for 循环,欢迎任何建议
- 只需要谷歌地图上的 2 个标记.删除之前的任何内容
- AngularJS:多个工厂实例任何原型继承
- 如果未选中任何复选框,请选中第一个复选框
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 任何比较两个不同位图图像并在javascript中检测不同区域的方法
- 在任何时候,将 Active 属性设置为主干集合中的 1 个模型
- 如何匹配并返回一个字符串的多个实例,其中单个撇号可以包含在任何索引中
- 单击时无法禁用第二个按钮或任何其他按钮
- 使用 javascript / jquery 检查 URL 在第二个“/”之后是否有任何内容
- Javascript - 如果任何 2 个选定的下拉列表值相同,如何显示消息框
- 正则表达式用于在 JavaScript 中查找任何两个数值(范围)之间的所有数字
- JavaScript Regex-必须至少包含UTF-8中的任何2个字母
- 将Class添加到具有任意2个类的所有表行,并将另一个样式添加到具有任何3个类的全部表行
- 要显示数据的最后一周和任何两个日期之间的数据,我正在努力