制作一个regex来验证只有一个数字的字符串
make a regex to validate a string with only one number
这里是我的问题,在一些项目中,我需要验证一个字符串,它必须是4个字符的长度,并且只包含一个数字,但我不知道它的位置(可以是"er1t"或"4ft",但不能是"sdfd"或"4fd5")
我制作了一个有效的正则表达式:(?:[a-z]'d[a-z]{2}|'d[a-z]{3}|[a-z]{2}'d[a-z]|[a-z]{3}'d)
,但它没有优化,我找不到如何在正则表达式中搜索字符串中的数字,我使用的是javascript正则表达式。
提前感谢
ekanS
看起来您可以使用
^(?=[a-z]*'d[a-z]*$)[a-z'd]{4}$
演示。
简而言之,我们可以设置一个(?='D*'d'D*$)
条件来检查整行/字符串在一行/字符串的开头是否只有1个数字。然后我们可以允许任何小写字母和数字。
如果计划允许使用大写字母,请将A-Z
添加到字符类中,或使用i
选项。
function isValid(code) {
var re = /^(?=[a-z]*'d[a-z]*$)[a-z'd]{4}$/gm;
if ((m = re.exec(code)) !== null) {
document.getElementById("res").innerHTML = document.getElementById("res").innerHTML + "<br>" + m[0] + " is <font color='"#0000FF'">valid</font>.";
}
else {
document.getElementById("res").innerHTML = document.getElementById("res").innerHTML + "<br>" + code + " is <font color='"#FF0000'">not valid</font>.";
}
}
isValid('er1t');
isValid('4frt');
isValid('sdfd');
isValid('4fd5');
isValid('ffd5');
document.getElementById("res").innerHTML + "</font>"
<div id="res"><font face="Arial"><b>Valid codes:</b><font face="Tahoma"><div>
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 制作一个regex来验证只有一个数字的字符串
- 有可能在来自链接的警报中有一个值吗
- 是否<asp:文本框>有一个onFocusLost事件
- 让谷歌数据图表有一个24小时x轴
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- 我有一个 HTML 多选框,之前没有选择任何内容.我需要验证是否应该在 javascript 中至少选择一个
- AngularJS - 表单自定义验证 - 检查是否至少有一个输入为空
- 两个字段中至少有一个必须完成验证
- 是否有一个设计模式的网站验证与JS和PHP的建设
- 我如何在引导中验证至少有一个复选框被标记并将此信息传递给php ?
- 使用jQuery验证确保至少有一个下拉菜单有值
- Meteor简单模式-当修饰符选项为true时,验证对象必须至少有一个运算符
- Regex用于名称验证,至少有一个alpahbet(A-z)
- 我正在使用 auth0 进行用户身份验证,并且我有一个用于 CRUD 帖子(标题、图像、描述)的 API.如何对 CRU
- 是否有一个纯Javascript X/HTML验证器