如果字符串中没有字母或数字,我必须使用正则表达式检查单个单引号或双引号。
例如:
Max's --> is valid
' --> Invalid
" --> Invalid
所以我用了正则表达式
^(?=.*[\\w\\d]).+
这工作得很好,除了它还允许
Max" M--> Here there is space after quote which is supposed to be invalid
While Max"M M --> should be valid same goes for single quote
我应该做哪些更改来实现该验证条件?
示例:
至少应该有一个字母或一个数字字符,不允许只有特殊字符。如果输入字符串是:
' --> Is invalid
" --> Is invalid
# --> Is invalid
^ --> Is invalid
and so on...
但是如果输入字符串是
Max's pc --> Valid
1's --> Valid
Max"s pc --> Valid
1"s --> Valid
但如果是的话
Max' --> Invalid as the word ends with '
Max" --> Invalid as the word ends with "
在这里,我不希望我的单词以“或”或任何其他特殊字符结尾,但允许使用逗号、分号或句号。
如果需要进一步澄清,请注明。谢谢:)
我不确定,但这也许可以工作:
var text = [
"'",
'"',
'#',
'^',
"Max's pc",
"1's",
'Max"s pc',
'1"s',
"Max'",
'Max"',
'Max" M'
];
var expr = /([^\s\w\d]+)(?=[\w\d]+)/;
text.map(function(v) {
console.log(v, expr.test(v));
});
根据你的要求试试这个正则表达式。[a-zA-Z0-9]['"][\S]
var正则表达式=/[a-zA-Z0-9]['"][\S]/;
function getValue() {
return document.getElementById("myinput").value;
}
function test() {
alert(regex.test(getValue()));
}
https://jsfiddle.net/uf8z1eh3/