具有少量特殊字符的字符串的有效正则表达式
Valid Regex for string with few special characters
我被困在javascript中的正则表达式检查中,找不到有效的解决方案。
我的Javascript函数:
function checkFilledText() {
var retBool = false;
var vals= $("#input1").val();
if ($.trim(vals) == "" || vals.length <= 0) {
alert("No text entered");
return false;
}
var pattrn = new RegExp("[A-Za-z0-9.'-/:]{3,15}");
retBool = pattrn.test(vals);
alert("Validation is: " + retBool);
}
正则表达式应该验证M-24554-236
,同时使M-45455^455
无效。这意味着任何包含文本(字母数字)的字符串(字母数字)带有/不带有特殊字符(包括介于两者之间的任何位置/'.:-
)都是有效的,而除字母数字字符之外的任何特殊字符都应使字符串无效。
这是小提琴.这个小提琴目前验证了它们,而RegExr说它应该按预期工作。
由于您使用的是正则表达式构造函数,因此您需要转义一些特殊字符,因此请使用类似正则表达式
var pattrn = /^[A-Z'd.'''-'/:]{3,15}$/i
或
var pattrn = new RegExp("^[A-Z''d.''''''-''/:]{3,15}$", 'i');
function checkFilledText() {
var retBool = false;
var vals = $("#input1").val();
if ($.trim(vals) == "" || vals.length <= 0) {
$('#log').html("No text entered");
return false;
}
var pattrn = new RegExp("^[A-Z''d.''''''-''/:]{3,15}$", 'i');
// M-2344234-234 must be valid
// M%2344234-234 must be invalid
retBool = pattrn.test(vals);
$('#log').html("Validation is: " + retBool);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="input1" />
<input type="submit" onclick="checkFilledText()" />
<div id="log"></div>
相关文章:
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 从字符串中提取年份的Javascript正则表达式
- Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式
- 如何将正则表达式包含到字符串数组中
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 使用正则表达式反转字符串中的元音
- 如何分割由JavaScript中使用正则表达式的多个部分组成的字符串
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 删除两个字符串正则表达式之间的所有内容
- Javascript,字符串正则表达式匹配
- 字符串正则表达式模式.replace(/{0}/, “$0.00”) 不起作用
- Javascript:字符串正则表达式
- 如何在JavaScript中子字符串正则表达式
- 匹配大写或小写字符串正则表达式
- 逗号和空格分隔的数字和连字符分隔的字符串正则表达式
- 解析CGI查询字符串正则表达式
- 分析已知键的字符串正则表达式,但保留分隔符
- 在一组字符串中重新排列一个字符串 - 正则表达式
- 从字符串正则表达式中提取多个值