需要javascript regex允许数字,单个和特定的alpha数字字符和破折号
Need javascript regex to allow digits, a single and specific alpha numeric character and dashes
如何创建一个javascript正则表达式,将允许数字,破折号,甚至括号和单个字母数字字符,只是一个'x?'
这是一个非常基本的正则表达式,表示"匹配这个或另一个"。
它被称为" alteration& quot;,它由竖线|
表示。
所以要匹配你要求的任何字符,我们只需要写
/0|1|2|3|4|5|6|7|8|9|x|-/
至此,你已经写出了你的第一个正则表达式。
现在我们需要说,这些东西的一个或多个序列。在正则表达式中,我们使用一种叫做量词的东西——你读过这些,对吧?它们被称为"量词"。因为它们指定了某物的数量。这里我们需要量词要求一个或多个东西,你们应该记得,是加号+
;你把它放在你想重复的内容后面。
所以我们可以写
/0|1|2|3|4|5|6|7|8|9|x|-+/
,但这不会工作;它只是要求一个或多个-
字符。因此,要说出中的一个或多个选项,我们将这些选项放在组中,使用括号,并在其后面加上量词:
/(0|1|2|3|4|5|6|7|8|9|x|-)+/
我们越来越近了,除了一个问题。像
这样的调用regexp.test("string")
将对字符串的任何部分匹配regexp,而不一定是对整个字符串。在本例中,我们希望确保整个字符串与regexp匹配——换句话说,只包含我们希望允许的字符。为此,我们需要使用锚,你们在阅读材料中还记得,对吧?锚"锚";匹配字符串的开头(^
)或结尾($
)。所以我们写:
/^(0|1|2|3|4|5|6|7|8|9|x|-)+$/
简单地说:从字符串的开头开始,匹配一个或多个备选项,在字符串的末尾结束。
然而,在这种情况下,我们有一个特殊的情况,其中所有的替代都是单个字符。对于这种常见情况,regexp提供了字符集的概念,我相信您在阅读中还记得。字符集给出了一组字符,其中任何一个都可以匹配。把它写在方括号里:[]
。在我们的例子中,它将是:
[0123456789x-]
还记得字符集还允许您使用连字符指定字符的范围,因此我们可以将其简化为
[0-9x-]
最后一个连字符不创建一个范围,因为它在末尾。
。使用交替、组、量词、锚和字符集,您已经编写了所需的regexp:
/^[0-9x-]+$/
我使用了一个传入键的方法。在jquery的keydown事件中,我捕获每个按键并进行测试。如果它不在可用值数组中,JS返回false并且不注册键击。
function isFaxValid(fax) {
var keyCodeArray = new Array();
keyCodeArray.push(48); //0
keyCodeArray.push(49); //1
keyCodeArray.push(50); //2
keyCodeArray.push(51); //3
keyCodeArray.push(52); //4
keyCodeArray.push(53); //5
keyCodeArray.push(54); //6
keyCodeArray.push(55); //7
keyCodeArray.push(56); //8
keyCodeArray.push(57); //9
keyCodeArray.push(40); //(
keyCodeArray.push(41); //)
keyCodeArray.push(32); //""
keyCodeArray.push(45); //-
$(fax).keypress(function (key) {
if (keyCodeArray.indexOf(key.keyCode) <= -1) {
return false;
}
});
}
所以,如果以后有人来找我,想要一些诸如"+,"
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 是否可以禁用jquery中的单个单选按钮
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 使用jquery选中/取消选中单个复选框
- 单个页面上有多个标记表单
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 用于多个类事件Jquery的单个函数
- 仅使用文件对象选择单个文件
- 如何使用单个表单填写多个表单
- 如何将html打包到单个应用程序中
- 更改图层中单个矢量特征的图标
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- 如何在具有某些 UI 视图的状态中管理工厂单个请求数据
- 来自单个Google Sheet的多个图表赢得't显示
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- 如何匹配多个值使用正则表达式返回单个值
- 数组在单个输入中返回
- 需要javascript regex允许数字,单个和特定的alpha数字字符和破折号