字母数字正则表达式javascript
让字母数字字符的简单正则表达式只能在javascript中工作,我遇到了一个问题:字母数字正则表达式javascript,javascript,jquery,regex,Javascript,Jquery,Regex,让字母数字字符的简单正则表达式只能在javascript中工作,我遇到了一个问题: var validateCustomArea = function () { cString = customArea.val(); var patt=/[0-9a-zA-Z]/; if(patt.test(cString)){ console.log("valid"); }else{ console.
var validateCustomArea = function () {
cString = customArea.val();
var patt=/[0-9a-zA-Z]/;
if(patt.test(cString)){
console.log("valid");
}else{
console.log("invalid");
}
}
我正在检查来自jquery的keyup事件后的文本字段值,但结果不是预期的,我只希望字母数字字符位于字符串中此正则表达式:
/[0-9a-zA-Z]/
将匹配至少包含一个字母数字字符的任何字符串。我想你在找这个:
/^[0-9a-zA-Z]+$/
/^[0-9a-zA-Z]*$/ /* If you want to allow "empty" through */
或者可能是:
var string = $.trim(customArea.val());
var patt = /[^0-9a-z]/i;
if(patt.test(string))
console.log('invalid');
else
console.log('valid');
函数只检查一个字符(
/[0-9a-zA-Z]/
表示0-9、a-Z或a-Z范围内的一个字符),但读取整个输入字段文本。您需要循环此操作或通过说出类似于/^[0-9a-zA-Z]*$/
的语句来检查字符串中的所有字符。我建议后者。我是这样做的
var validateCustomArea = function () {
cString = customArea.val();
console.log(cString)
var patt=/[^0-9a-zA-Z]/
if(!cString.match(patt)){
console.log("valid");
}else{
console.log("invalid");
}
}
我需要对正则表达式求反,你的第三行不是应该有一个分号吗?代码运行良好,只是结果是正确的wrong@Dan:事实上,分号在JavaScript中是可选的。我猜上面的正则表达式会检查您的字符串中是否存在分号,我希望我的字符串是唯一的alphanumeric@muistooshort如果我错了,请纠正我,但大多数时候它们不是可选的吗?有时它们是必需的,因此养成了经常使用它们的好习惯。