js正则表达式使用

JS宏进阶:正则表达式的使用 newRegExp()提供了一种动态创建正则表达式的方法,而正则表达式对象的方法(如test和exec)以及字符串对象的方法(如match、replace等)则提供了丰富的操作手段来处理和匹配字符串。理解这些方法和标志,可以大大提高你在JavaScript中处理字符串的效率和能力。 阅读详情
1JS正则表达式 代码 
"^//d+$"  //非负整数(正整数 + 0)     
"^[0-9]*[1-9][0-9]*$"  //正整数     
"^((-//d+)|(0+))$"  //非正整数(负整数 + 0)     
"^-[0-9]*[1-9][0-9]*$"  //负整数     
"^-?//d+$"    //整数     
"^//d+(//.//d+)?$"  //非负浮点数(正浮点数 + 0)     
"^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$"      
//正浮点数     
"^((-//d+(//.//d+)?)|(0+(//.0+)?))$"  //非正浮点数(负浮点数 + 0)     
"^(-(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*)))$"      
//负浮点数     
"^(-?//d+)(//.//d+)?$"  //浮点数     
"^[A-Za-z]+$"  //由26个英文字母组成的字符串     
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串     
"^[a-z]+$"  //由26个英文字母的小写组成的字符串     
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串     
"^//w+$"  //由数字、26个英文字母或者下划线组成的字符串     
"^[//w-]+(//.[//w-]+)*@[//w-]+(//.[//w-]+)+$"    //email地址     
"^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$"  //url     
"^[A-Za-z0-9_]*$" 
=================================================== 
<script language="javascript">
function check(){
//var pattern1=/^[1-9]/d{7}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{3}$/;//15位的身份证
//var pattern2=/^[1-9]/d{5}[1-9]/d{3}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{4}$/;//18位的身份证
var pattern=/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/;//匹配E-MALI地址
//var pattern=/^http:////([/w-]+/.)+[/w-]+(//[/w-      .//?%&=]*)?/;//匹配网址
//var pattern=/http(s)?:////([/w-]+/.)+[/w-]+(//[/w- .//?%&=]*)?/;//匹配网址
//var pattern=/^[/u4e00-/u9fa5]$/;//匹配中文字符(单个汉字)
//var pattern=/^[1-9]/d{5}(?!/d)$/;//匹配邮政编码
//var pattern=/^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/;//匹配日期 如:1900-01-01
//var pattern=/^[^/x00-/xff]$/;//匹配双字节字符(包括汉字在内的单个字符)
//var pattern=/^<(.*)>.*<///1>|<(.*) //>$/;//匹配HTML标记
//var pattern=/<(/S*?)[^>]*>.*?<///1>|<.*? //>/;//匹配HTML标记
//var pattern=/^/n[/s| ]*/r$/;//可以用来删除空白行
//var pattern=/^(/s*)|(/s*)$///可以用来删除行首尾的空白字符(包括空格、制表符、换页符等等)
//var pattern=/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;//字母开头,限制5-16字节,允许字母数字下划线
//var pattern=/^/d{3}-/d{8}|/d{4}-/d{7,8}$/;//匹配国内电话 如:0739-8888888(8) 或 020-88888888
//var pattern=/^[1-9][0-9]{4,}$/;//匹配QQ号码 腾讯QQ号从10000开始
//var pattern=/^/d+/./d+/./d+/./d+$/;//匹配IP地址
/*******************匹配特定数字*********************/
//var pattern=/^(/w)/1{4,}*$/;//匹配整数
//var pattern=/-?[1-9]/d*$/;//匹配整数
//var pattern=/^[1-9]/d*$/;//匹配正整数
//var pattern=/^-[1-9]/d*$/;//匹配负整数
//var pattern=/^[1-9]/d*|0$/;//匹配非负整数
//var pattern=/^-[1-9]/d*|0$/;//匹配非正整数
//var pattern=/^[1-9]/d*/./d*|0/./d*[1-9]/d*$/;//匹配正浮点数
//var pattern=/^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$/;//匹配负浮点数
//var pattern=/^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$/;//匹配浮点数
//var pattern=/^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$/;//匹配非负浮点数
//var pattern=/^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$/;//匹配非正浮点数
/********************匹配特定字符串*****************/
//var pattern=/^[A-Za-z]+$/;//匹配由26个英文字母组成的字符串
//var pattern=/^[A-Z]+$/;//匹配由26个英文字母的大写组成的字符串
//var pattern=/^[a-z]+$/;//匹配由26个英文字母的小写组成的字符串
//var pattern=/^[A-Za-z0-9]+$/;//匹配由数字和26个英文字母组成的字符串
//var pattern=/^/w+$/;//匹配由数字、26个英文字母或者下划线组成的字符串
//if(!(pattern1.test(document.form1.text.value)||pattern2.test(document.form1.text.value)))
if(!pattern.test(document.getElementById("content").value)){
alert("请输入正确的格式!");
return false;
}
}
</script>
<%
'限制只能输入中文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
'限制只能输入全角字符:onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"
'限制只能输入数字:onkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
'限制只能输入数字和英文:onkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 
%>

===================================================
/* 
*前台JS表单脚本(输入&验证)库 

*注:请使用本JS表单脚本(输入&验证)库的同时保留此版权信息,此是作者花了时间去收集整理以及编写的,谢谢! 
*  此版本采用GB2312编码格式,请在使用前进行字符编码转换,以保证能够正常使用 
*/ 
/* 
*以下是库函数目录及使用说明: 
* 
*常用 
*1、Trim=去除字符串前后空格         
使用方法:String.trim() 
*2、ctrim=去除字符串中间空格         
使用方法:String.ctrim() 
*3、onClickSelect=点中text框的时候,选中其中的文字     
使用方法:在input位置加上 onClick/onFocus="onClickSelect();" 即可 

* 
*动态输入类             
使用方法:在input位置加上 即可 
*1、TextOnly=只允许输入字母、数字、下划线 
*2、TextNumOnly=只允许输入字母、数字 
*3、NumOnly=只允许输入数字 
*4、TelOnly=只能输入电话、"-"、"("、")" 
* 
*表单验证类 
*1、isAccount=是否帐号(由字母、数字、下划线组成){有两种选择,一种有长度限制} 
*2、isChinese=是否中文(由中文、数字、字母组成) 
*3、ismail=是否Email 
*4、isip=是否ip 
*5、PhoneCheck=电话号码检测(电话和手机) 
*6、isMobile=手机号码检测 
*7、isDate=是否短日期 
*8、isTime=是否时间 
*9、isDateTime=是否长日期 
* 
*其它函数 
*1、changeFrame=改变Frame大小 
*2、CheckAll=全选/全不选 
*3、onKeyDownDefault=回车->转->Tab 
*4、admin_Size=改变TextArea输入框高度 
* 
*其它验证正则表达式 
*Email : /^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/ 
*Phone : /^((/(/d{2,3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}(/-/d{1,4})?$/ 
*Url : /^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"/"])*$/ 
*Currency : /^/d+(/./d+)?$/ 
*Number : /^/d+$/ 
*Zip : /^[1-9]/d{5}$/ 
*QQ : /^[1-9]/d{4,8}$/ 
*Integer : /^[-/+]?/d+$/ 
*Double : /^[-/+]?/d+(/./d+)?$/ 
*English : /^[A-Za-z]+$/ 
*Chinese :  /^[/u0391-/uFFE5]+$/ 
*UnSafe : /^(([A-Z]*|[a-z]*|/d*|[-_/~!@#/$%/^&/*/./(/)/[/]/{/}<>/?/////'/"]*)|.{0,5})$|/s/ 
*Username : /^[a-z]/w{3,}$/i(用户名验证,带长度限制) 
*/ 

//========================================================================常用函数 
//--------------------------------除去前后空格 
String.prototype.trim = function() 
{ 
    //用正则表达式将前后空格用空字符串替代。 
    return this.replace(/(^/s*)|(/s*$)/g, ""); 
} 
//--------------------------------除去中间空格 
String.prototype.ctrim = function() 
{ 
    //用正则表达式将中间空格用空字符串替代。 
return this.replace(//s/g,''); 
} 
//--------------------------------点中text框的时候,选中其中的文字 
/** 
*方法名:onClickSelect 
*描述:点中text框的时候,选中其中的文字 
*输入:空 
*输出:空 
**/ 
function onClickSelect() 
{ 
    var obj = document.activeElement; 
    if(obj.tagName == "TEXTAREA") 
{ 
        obj.select(); 
} 
    if(obj.tagName == "INPUT" ) 
{ 
        if(obj.type == "text") 
   obj.select(); 
} 
} 

/* 
* 判断是否为数字,是则返回true,否则返回false 
*/ 
代码 
function f_check_number(obj)     
{           
    if (/^/d+$/.test(obj.value))     
    {     
       return true;     
    }     
    else     
    {     
       f_alert(obj,"请输入数字");     
       return false;     
    }     
}     
   
/* 
* 判断是否为自然数,是则返回true,否则返回false 
*/ 
代码 
function f_check_naturalnumber(obj)     
{           
    var s = obj.value;     
    if (/^[0-9]+$/.test( s ) && (s > 0))     
    {     
       return true;     
    }     
    else     
    {     
        f_alert(obj,"请输入自然数");     
        return false;     
    }     
}     
   
/* 
* 判断是否为整数,是则返回true,否则返回false 
*/ 
代码 
function f_check_integer(obj)     
{           
    if (/^(/+|-)?/d+$/.test( obj.value ))     
    {     
       return true;     
    }     
    else     
    {     
        f_alert(obj,"请输入整数");     
        return false;     
    }     
}     
   
/* 
* 判断是否为实数,是则返回true,否则返回false 
*/ 
代码 
function f_check_float(obj)     
{           
    if (/^(/+|-)?/d+($|/./d+$)/.test( obj.value ))     
    {     
       return true;     
    }     
    else     
    {     
        f_alert(obj,"请输入实数");     
       return false;     
    }     
}     










//========================================================================动态输入类函数 
//--------------------------------只允许输入字母、数字、下划线(动态判断) 
function TextOnly(){ 
    var i= window.event.keyCode 
//8=backspace 
//9=tab 
//37=left arrow 
//39=right arrow 
//46=delete 
//48~57=0~9 
//97~122=a~z 
//65~90=A~Z 
//95=_ 
    if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==95)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46))) 
{ 
        //window.event.keyCode=27; 
  event.returnValue=false 
  return false; 
    } 
else 
{ 
        //window.event.keyCode=keycode; 
  return true; 
    } 
} 
//--------------------------------只允许输入字母、数字(动态判断) 
function TextNumOnly(){ 
    var i= window.event.keyCode 
//8=backspace 
//9=tab 
//37=left arrow 
//39=right arrow 
//46=delete 
//48~57=0~9 
//97~122=a~z 
//65~90=A~Z 
//95=_ 
    if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46))) 
{ 
        //window.event.keyCode=27; 
  event.returnValue=false 
  return false; 
    } 
else 
{ 
        //window.event.keyCode=keycode; 
  return true; 
    } 
} 
//--------------------------------只允许输入数字(动态判断) 
/** 
*方法名:NumOnly() 
*描述:只允许输入数字 
*输入:空 
*输出:空 
**/ 
function NumOnly(){ 
    var i= window.event.keyCode 
//8=backspace 
//9=tab 
//37=left arrow 
//39=right arrow 
//46=delete 
//48~57=0~9 
    if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46)) 
{ 
        window.event.keyCode=27; 
  return false; 
    } 
else 
{ 
        //window.event.keyCode=keycode; 
  return true; 
    } 
} 
//--------------------------------只能输入电话号码或者"-"或者"("或者")" 
function TelOnly(){ 
    var i= window.event.keyCode 
//8=backspace 
//9=tab 
//37=left arrow 
//39=right arrow 
//46=delete 
//48~57=0~9 
//40=( 
//41=) 
//45=- 
//32=空格 
    if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46) && (i!=40) && (i!=41) && (i!=45) && (i!=32)) 
{ 
        window.event.keyCode=27; 
  return false; 
    } 
else 
{ 
        //window.event.keyCode=keycode; 
  return true; 
    } 
} 
//========================================================================动态输入函数(结束) 

//========================================================================表单验证函数 
//--------------------------------判断用户名(判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母) 
function isAccount(str) 
{ 
if(/^[a-z]/w{3,}$/i.test(str))   //用户名由字母和数字、下划线组成,且只能以字母开头,且长度最小为4位 
//if(/^([a-zA-z]{1})([/w]*)$/g.test(str))//用户名由字母和数字、下划线组成,且只能以字母开头 
{ 
  //alert('); 
  return true; 
} 
else 
  return false; 
} 
//--------------------------------判断只能输入中文、数字、字母 
function isChinese(str) 
{ 
var pattern = /^[0-9a-zA-Z/u4e00-/u9fa5]+$/i; 
if (pattern.test(str)) 
{ 
  return true; 
} 
else 
{ 
  //alert("只能包含中文、字母、数字"); 
  return false; 
} 
} 
//--------------------------------Email格式判断 
function ismail(email) 
{ 
return(new RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(email)); 
} 
//--------------------------------IP格式判断 
function isip(s) 
{ 
var check=function(v) 
{ 
  try 
  { 
   return (v<=255 && v>=0) 
  } 
  catch(x) 
  { 
   return false 
  } 
}; 
var re=s.split(".") 
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && 
} 
//--------------------------------判断电话号码/手机号码 
function PhoneCheck(s) 
{ 
var str=s; 
var reg=/(^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/; 
//alert(reg.test(str)); 
return reg.test(str); 
} 
//--------------------------------判断手机号码 
function isMobile(str) 
{       
var reg=/^0{0,1}13[0-9]{9}$/; 
return reg.test(str); 
} 
//--------------------------------短日期(如2003-12-05) 
function isDate(str) 
{ 
var r = str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/); 
if(r==null) 
{ 
  //alert('输入的信息不是日期格式(YYYY:MM:DD)'); 
  return false; 
} 
if (r[1]<1 || r[3]<1 || r[3]-1>12 || r[4]<1 || r[4]>31) 
{ 
  //alert("日期格式(YYYY:MM:DD)不对"); 
  return false 
} 
var d= new Date(r[1], r[3]-1, r[4]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); 
} 
var a = 
if (a == null) 
{ 
  //alert('输入的信息不是时间格式(HH:MM:SS)'); 
  return false; 
} 
if (a[1]>23 || a[1]<0 || a[3]>60 || a[3]<0 || a[4]>60 || a[4]<0) 
{ 
  //alert("时间格式(0<=HH<23:0<=MM<60:0<=SS<60)不对"); 
  return false 
} 
return true; 
} 

var reg = 
var r = str.match(reg); 
if(r==null) 
{ 
  //alert('输入的信息不是时间格式(YYYY-MM-DD 
  return false; 
} 
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
} 

//========================================================================表单验证函数(结束) 
//========================================================================其它函数 
//用于改变当前后台框架的尺寸(参数:对象,关闭时显示图片,打开时显示图片,关闭显示尺寸,打开显示尺寸) 
//       例:this,'../images/openout.gif','../images/setby.gif','top.frame.cols=/'0,*/'','top.frame.cols=/'150,*/'' 
function changeFrame(ob,s1,s2,evalString1,evalString2) 
{ 
if (ob.alt == "收起") 
{ 
  ob.alt = "展开"; 
  ob.src = s1; 
  eval(evalString1); 
} 
else 
{ 
  ob.alt = "收起"; 
  ob.src = s2; 
  eval(evalString2); 
} 
} 
//用于全选/全不选(参数form=表单) 
function CheckAll(form)     
{ 
  for (var i=0;i<form.length;i++)     
    {     
  var e = form
; 
  if (e.type=="checkbox") 
  { 
   if (e.name!="AllChoice") 
   { 
    if (form.AllChoice.checked==true) 
    { 
     if (e.disabled==false) e.checked=true; 
    } 
    else 
    { 
     if (e.disabled==false) e.checked=false; 
    } 
   } 
  } 
    }     
} 
//--------------------------------用户在button以外的页面元素中按回车-->转换-->按tab键 
/** 
*方法名:onKeyDownDefault 
*描述:用户在button以外的页面元素中按回车,转换为按tab键 
*输入:空 
*输出:空 
**/ 
function onKeyDownDefault() 
{ 
    if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){ 
        if (window.event.srcElement.type != "button") 
            window.event.keyCode = 9; 
    } 
    else{ 
        return true; 
    } 
} 
// 修改编辑栏高度 
function admin_Size(num,objname) 
{ 
var obj=document.getElementById(objname) 
if (parseInt(obj.rows)+num>=3) { 
  obj.rows = parseInt(obj.rows) + num; 
} 
if (num>0) 
{ 
  obj.width="90%"; 
} 
} 
//取得字符串中中文/汉字的个数 
function getChineseNum(obstring) 
{ 
var pattern = /^[/u4e00-/u9fa5]+$/i; 
var maxL,minL; 
maxL = obstring.length;    //原始长度 
obstring = obstring.replace(pattern,""); 
minL = obstring.length;    //处理后的长度 
return (maxL - minL) 
} 
//========================================================================其它函数(结束) 







验证 是否是 数字 

<html xmlns="
http://www.w3.org/1999/xhtml"> 
<body> 
<script language="JavaScript"> 
function check(formname){ 
if (isNaN(document.all['price'].value)){ 
alert('请输入数字'); 
document.all["price"].focus(); 
return false; 
} 
else{ 
if(document.all["price"].value !="") 
{ 
      alert('是数字,通过'); 
       return true; 
} 
else 
{ 
    alert('空直,'); 
       return true; 
} 
  } 
} 
</script> 
<form method="post" action=""> 
  <input type="text" > 
  <input type="submit" value="提交" > 
  <input type ="text" /> 
</form> 
</body> 
</html>
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】 主要介绍了JS常见简单正则表达式验证功能,结合实例形式总结分析了JS针对手机,地址,企业税号,金额,身份证等的常见验证技巧,需要的朋友可以参考下 立即下载

相关推荐

Pico-实时预览工具PreviewTool

Unity XR SDK与Preview Tool下载链接:SDK - Pico Developer Platform1、下载Preview Tool后,将PreviewTool的APK先安装在VR头显里2、在PC端打开Preview Tool.exe文件Window -> Package Manager -> Add package from disk,选择下载的pico sdk中的package.json(如下图),Open导入。Edit -> Project Settings,设置设备和安卓版本,如下

晴天下的大头娃娃 4251

公司名称的正则表达:由中文字符、英文字母、数字、中划线、下划线、点、空格和中英文圆括号组成,且不能仅输入空格

全面的正则表达

zzz祝晴雨的博客 4607

【技术纵览】行为识别前沿模型演进:从CNN到多模态大模型

本文全面解析了行为识别技术从CNN到多模态大模型的演进历程,重点介绍了SlowFast、TimeSformer、VideoMAE和InternVideo等SOTA模型的核心创新与应用实践。通过对比分析各代模型在Kinetics-400等数据集上的表现,揭示了自监督学习和多模态融合如何推动行为识别准确率突破85%,并探讨了工业部署中的技术选型策略与优化方向。

weixin_29169505的博客 153

JS 正则表达式代码

JS正则表达式 代码  "^//d+$"  //非负整数(正整数 + 0)      "^[0-9]*[1-9][0-9]*$"  //正整数      "^((-//d+)|(0+))$"  //非正整数(负整数 + 0)      "^-[0-9]*[1-9][0-9]*$"  //负整数      "^-?//d+$"    //整数      "^//d+(//.//d+)?$

zhangwei5546的专栏 704

【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机(ubantu18.04@Intel 82545EM

如果之前添加了网卡,这里就可以看见有3个网卡(没添加的现在再加也行),* Active *为Linux内核正在使用的网卡,另外两张是未启用的网卡(注:未启用的网卡在终端中使用ifconfig命令是查不到的,需要先使用ip addr找出网卡,再激活,此时网卡会变为* Active *状态。

lingshengxiyou的博客 2130

Power BI财销一体分析——KPI分析应用实践

第九步:插入三个散点图,行拖入分销商表分销商字段,将度量值中的销量拖入X轴,将利润拖入Y轴,大小拖入度量值总销售额,将分销商表业务类型字段作为筛选条件添加给散点图,分别选择专业自行车店、增值经销商、仓库,使视觉对象固定显示不同业务类型的散点分布。这个公式其实是不需要我们自己写的,依赖于快度量值功能星级评分,基值选择度量值总销售额,星数选择5,最低星值评分选择0,最高星级评分值选择100,点击添加,星级评分度量值就建立好了,接下来我们理解一下公式。好的,今天的讲解就到这里。

BI瓶子的博客 1553

常用js正则表达校验

用到的公共方法,不能含有特殊字符。

正一品程序员的博客 536

Python爬招聘网站:Selenium+ActionChains破解滑动验证码,批量采集岗位数据(新手可跑)

通过本文实战,你不仅学会了用Selenium+ActionChains破解滑动验证码,还掌握了爬虫的核心优化思路——“模拟人类行为”是突破反爬的关键。这套逻辑不仅适用于招聘网站,还能迁移到其他有滑动验证码的平台(如电商、资讯网站)。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1188

js项目中使用较多的正则表达式 校验规则

正则校验规则

Jw_1201的博客 1162

【即插即用模块】Transformer篇 | ICCV 2025 | MALA :注意力分布神似Softmax,告别线性注意力性能短板!

MALA(Magnitude-Aware Linear Attention)是一种改进的线性注意力机制,通过引入缩放因子和偏移项,解决了传统线性注意力忽视查询幅度的问题,使其分布更接近Softmax Attention。该模块具有线性复杂度(O(n)),结合RoPE和LEPE编码实现全局-局部位置信息混合,通过z值调制平衡信息权重。实验表明MALA在轻量级视觉任务中能有效平衡效率与精度,注意力可视化显示其分布与Softmax Attention高度相似。代码提供完整的RoPE位置编码和线性注意力

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1107

200、从反激到LLC:工程师的成长之路

文章摘要: 本文以工程师视角探讨从反激式到LLC电源设计的思维转变。通过48V通信电源故障案例,揭示LLC谐振电容ESR温度特性引发的隐患,强调LLC需精确计算与测试。对比反激与LLC的核心差异:反激需控制寄生参数(如漏感尖峰、电容ESR),而LLC的关键在于频率响应和死区时间优化。作者提出三大思维转变:从匝比计算转向增益曲线分析,从时域波形观察转向频域频谱诊断,从元件更换转向参数调整。最后给出实战建议,包括建立故障库、关注元件参数细节及示波器调试技巧,指出工程师需从"控制"思维升级为"谐振"思维,实现技术

Jack010169的博客 322

特别推荐 | “正则表达式”在工业企业数据库匹配中的运用(二)

本期,我们将继续探索利用“正则表达式”对工业企业数据库中企业名称进行预处理的应用环节。

weixin_55633225的博客 1022

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【JS】JavaScript正则表达式详细使用

目录1、描述字符范围 : [ ]2、选择匹配:| 在上一篇博客中,记录了js中正则表达式的简单使用:【JS】JavaScript正则表达式基础。这篇博客学习一下JavaScript中正则表达式的详细使用。 1、描述字符范围 : [ ] 在正则表达式语法中,方括号表示字符范围。在方括号中可以包含多个字符,表示匹配其中任意一个字符。如果多个字符的编码顺序是连续的,可以仅指定开头和结尾字符,省略中间字符,仅使用连字符~表示。如果在方括号内添加脱字符^前缀,还可以表示范围之外的字符。例如: [abc]:查找方括号内

小绵杨 1705

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

{JS}JavaScript使用正则表达式

导读:   正则表达式概述   在前面已经涉及了一些正则表达式的用法,现在将系统地学习正则表达式的语法和用途。正则表达式主要用于进行字符串的模式匹配,例如判断一个字符串是否符合指定格式等。例如在windows下搜索文件,可以用“*”或者“?”这样的通配符。在正则表达式的语法中,有更多这样的符号用于表示一个字符串的模式,表7.1列出了所有的特殊符号,它们也被称为元字符。   表7.1 正则表

sunfollowme的专栏 856

JavaScript使用正则表达式

正则表达式(Regular Expression,在代码中常简写为regexregexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。

testleaf.cn 1091

java js 正则表达式_如何在JavaScript与Java中使用正则表达式

如何在JavaScript与Java中使用正则表达式发布时间:2021-02-11 13:16:01来源:亿速云阅读:69作者:Leah如何在JavaScript与Java中使用正则表达式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Js验证写法:(转义符\)varstr="待验证文本";varregular...

weixin_39959569的博客 175

【JS】javascript正则表达式的基本使用(JavaScript RegExp 对象)

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个特定规则的文本。

余浩的博客 1038

JS正则表达式的定义及使用方法

JS正则表达式对于匹配纯文本的字符就很好用,但对于范围很复杂的数据的话,用正则就很麻烦了,通过举例说明,现在大家是不是有了一定的了解。JS正则表达式是用来匹配字符串的js正则表达式 i,比如强制浏览者输入你打算让他输入的内容等等。search()方法:用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。replace()方法:用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。正则表达式可以是一个简单的字符,或一个更复杂的模式。

2403_88477236的博客 322

JavaScript之正则表达式的使用方法详细介绍

首先必须说明的是,这类文章(js正则表达式)在c站或者整个it类论坛是很多人写过的,而我认为我这篇的不同之处在于更加“小白”化,这也与我一贯的风格有关吧。 关于JavaScript正则表达式,其他的文章大多一上来就太过激进,不利于初学者学习(我当粗就是这么被劝退的),这也是我为什么要坚持写这篇文章,希望小白在看了这篇文章后,不管能不能完全掌握JavaScript正则表达式,但至少对JavaScript正则表达式能有一个比较深刻的印象吧。

跳探戈的小龙虾的博客 2万+

java 正则 js_正则表达式在js和java中如何使用

正则表达式在js和java中如何使用1.在js中1.1 Search()方法(字符串方法)search()方法用来查找字符串中匹配的子字符串或符合正则表达式的子字符串,并返回子字符串的起始位置。var str="www.baidu.com";var reg = "baidu";var reg2 = "[com]{1}";var regExp=new RegExp(reg);var regExp2=...

weixin_35820008的博客 296

JavaScript正则表达式的使用详解

在前面分组的讲解中,我们知道括号匹配到了aaa,但我们如何用变量的表示这个aaa呢,这个就是命名的作用命名采用?的形式,写在要定义的内容前面,当不能写在开头,如/?/是不合法的。可以通过括号规避错误,如/(?)///通过命名捕获分组 let pattern3 = / (?'aaab','aaa','aaa',index: 2,这个例子可以看到patt匹配到了’aaa’,如果不想让圆括号分组的子表达式生成数字引用,那么可以不用(和)分组,而是开头用(?:,结尾用)。

yang45310的专栏 2492

JS在正则表达式中使用变量

在js中使用正则表达式可以通过两种方式创建 方法1. 正则表达式字面量形式创建,写在两个斜杠之间 var reg = /^\d{3}$/ //验证变量是否是三位数字 reg.test("123") //true 方法2. 构造函数创建正则表达式对象 var re = new RegExp("^\d{3}$") re.test("123") // true 最近有一个...

Seven_miao的博客 2万+
上一篇: javascript内置函数大全
下一篇: js的正则表达式语法
HackProgramer
博客等级 码龄12年 255粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值