求助一个函数来帮我获取字符串中的值

cjwcommonuse 2015-06-17 03:48:15
我的字符串是这样的
a1;ab;ce;kk:nanren;ii:虐人;备注:fef;
求一个js函数,function(key){return value;} 当我输入ii返回虐人,当我输入备注返回fef,当我输入 fwefw返回''
正则实现最佳,若干分献上
...全文
156 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjwcommonuse 2015-06-18
  • 打赏
  • 举报
回复
天,有bug,当出现 kalala:iiii; getValue('lala') 将返回iiii而不是''
cjwcommonuse 2015-06-18
  • 打赏
  • 举报
回复
感谢 3#,我最后应用的代码
<script type="text/javascript">
        String.prototype.getValue = function (key) {
            var reg = new RegExp(key + ":\\s*(.+?)(;|$)");
            var match = reg.exec(this);

            if (match && match.length > 1) {
                return reg.exec(this)[1];
            }
            else {
                return '';
            }
        }

        $(document).ready(function () {
            var s = 'a1;ab;ce;kk:nanren;ii:虐人;备注:fef;';
            alert(s.getValue('ab'));
        });
    </script>
cjwcommonuse 2015-06-18
  • 打赏
  • 举报
回复
引用 6 楼 gy127132060 的回复:
顶3#与4#。。。
3#偏离了我的问题
西红士 2015-06-17
  • 打赏
  • 举报
回复
顶 #6
香蕉猪 2015-06-17
  • 打赏
  • 举报
回复
顶3#与4#。。。
cjwcommonuse 2015-06-17
  • 打赏
  • 举报
回复
引用 1 楼 gxttr 的回复:

var s='a1;ab;ce;kk:nanren;ii:虐人;备注:fef;';

var getValue=function(key){
	var reg=new RegExp(key+":\\s*(.+?)(;|$)");
	
	var match=reg.exec(s);
	
	if(match && match.length>1){
		return reg.exec(s)[1];
	}
	else{
		return '';
	}
}

alert(getValue('ii'));
感谢,明天试一下
scscms太阳光 2015-06-17
  • 打赏
  • 举报
回复
function fun(key){
  var a = "a1;ab;ce;kk:nanren;ii:虐人;备注:fef;".match(new RegExp(";"+key+":([^;]+)"));
  return a ? a[1] : "";
}
天际的海浪 2015-06-17
  • 打赏
  • 举报
回复

//一定要用字符串么,用对象多好,可以按json格式来写
var obj = {"kk":"nanren","ii":"虐人","备注":"fef"};
function get(key)
{
	return obj[key]||"";
}
alert(get("ii"));
alert(get("aaaa"));


cy_Calvin 2015-06-17
  • 打赏
  • 举报
回复

function get(key)
{
     var  string = '';//字符串

    var len = key.length + 1 ;
   
     var start = string.indexof(key+':');
     
    if(start >0)
     {
         var end =  string.indexof(';',start );

         return  string.substring(start+len,end)
      }

    return '' ;
}

遥望那些年 2015-06-17
  • 打赏
  • 举报
回复

var s='a1;ab;ce;kk:nanren;ii:虐人;备注:fef;';

var getValue=function(key){
	var reg=new RegExp(key+":\\s*(.+?)(;|$)");
	
	var match=reg.exec(s);
	
	if(match && match.length>1){
		return reg.exec(s)[1];
	}
	else{
		return '';
	}
}

alert(getValue('ii'));
trade_create_by_buyer-CSHARP-UTF-8 │ ├app_code ┈┈┈┈┈┈┈┈┈┈类文件夹 │ │ │ ├AlipayConfig.cs┈┈┈┈┈基础配置类文件 │ │ │ ├AlipayCore.cs┈┈┈┈┈┈支付宝接口公用函数类文件 │ │ │ ├AlipayNotify.cs┈┈┈┈┈支付宝通知处理类文件 │ │ │ ├AlipaySubmit.cs┈┈┈┈┈支付宝各接口请求提交类文件 │ │ │ └MD5.cs ┈┈┈┈┈┈┈┈┈MD5类库 │ ├log┈┈┈┈┈┈┈┈┈┈┈┈┈日志文件夹 │ ├default.aspx ┈┈┈┈┈┈┈┈支付宝接口入口文件 ├default.aspx.cs┈┈┈┈┈┈┈支付宝接口入口文件 │ ├notify_url.aspx┈┈┈┈┈┈┈服务器异步通知页面文件 ├notify_url.aspx.cs ┈┈┈┈┈服务器异步通知页面文件 │ ├return_url.aspx┈┈┈┈┈┈┈页面跳转同步通知文件 ├return_url.aspx.cs ┈┈┈┈┈页面跳转同步通知文件 │ ├Web.Config ┈┈┈┈┈┈┈┈┈配置文件(集成时删除) │ └readme.txt ┈┈┈┈┈┈┈┈┈使用说明文本 ※注意※ 需要配置的文件是: alipay_config.cs default.aspx default.aspx.csreturn_url.aspx return_url.aspx.cs notify_url.aspx notify_url.aspx.cs统一命名空间为:namespace Com.Alipiay ───────── 类文件函数结构 ───────── AlipayCore.cs public static Dictionary ParaFilter(SortedDictionary dicArrayPre) 功能:除去数组的空和签名参数并以字母a到z的顺序排序 输入:SortedDictionary dicArrayPre 过滤前的参数组 输出:Dictionary 去掉空与签名参数后的新签名参数组 public static string CreateLinkString(Dictionary dicArray) 功能:把数组所有元素,按照“参数=参数”的模式用“&”字符拼接成字符串 输入:Dictionary dicArray 需要拼接的数组 输出:string 拼接完成以后的字符串 public static string CreateLinkStringUrlencode(Dictionary dicArray, Encoding code) 功能:把数组所有元素,按照“参数=参数”的模式用“&”字符拼接成字符串,并对参数做urlencode 输入:Dictionary dicArray 需要拼接的数组 Encoding code 字符编码 输出:string 拼接完成以后的字符串 public static void log_result(string sPath, string sWord) 功能:写日志,方便测试(看网站需求,也可以改成存入数据库) 输入:string sPath 日志的本地绝对路径 string sWord 要写入日志里的文本内容 public static string GetAbstractToMD5(Stream sFile) 功能:获取文件的md5摘要 输入:Stream sFile 文件流 输出:string MD5摘要结果 public static string GetAbstractToMD5(byte[] dataFile) 功能:获取文件的md5摘要 输入:byte[] dataFile 文件流 输出:string MD5摘要结果 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ MD5.cs public static string Sign(string prestr, string key, string _input_charset) 功能:签名字符串 输入:string prestr 需要签名的字符串 string key 密钥 string _input_charset 编码格式 输出:string 签名结果 public static bool Verify(string prestr, string sign, string key, string _input_charset) 功能:验证签名 输入:string prestr 需要签名的字符串 string sign 签名结果 string key 密钥 string _input_charset 编码格式 输出:string 验证结果 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ AlipayNotify.cs public Notify() 功能:构造函数 从配置文件初始化变量 public bool Verify(SortedDictionary inputPara, string notify_id, string sign) 功能:验证消息是否是支付宝发出的合法消息 输入:SortedDictionary inputPara 通知返回参数数组 string notify_id 通知验证ID string sign 支付宝生成的签名结果 输出:bool 验证结果 private string GetPreSignStr(SortedDictionary inputPara) 功能:获取待签名字符串(调试用) 输入:SortedDictionary inputPara 通知返回参数数组 输出:string 待签名字符串 private bool GetSignVeryfy(SortedDictionary inputPara, string sign) 功能:获取返回回来的待签名数组签名后结果 输入:SortedDictionary inputPara 通知返回参数数组 string sign 支付宝生成的签名结果 输出:bool 签名验证结果 private string GetResponseTxt(string notify_id) 功能:获取是否是支付宝服务器发来的请求的验证结果 输入:string notify_id 通知验证ID 输出:string 验证结果 private string Get_Http(string strUrl, int timeout) 功能:获取远程服务器ATN结果 输入:string strUrl 指定URL路径地址 int timeout 超时时间设置 输出:string 服务器ATN结果字符串 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ AlipaySubmit.cs private static string BuildRequestMysign(Dictionary sPara) 功能:生成签名结果 输入:Dictionary sPara 要签名的数组 输出:string 签名结果字符串 private static Dictionary BuildRequestPara(SortedDictionary sParaTemp) 功能:生成要请求给支付宝的参数数组 输入:SortedDictionary sParaTemp 请求前的参数数组 输出:Dictionary 要请求的参数数组 private static string BuildRequestParaToString(SortedDictionary sParaTemp, Encoding code) 功能:生成要请求给支付宝的参数数组 输入:SortedDictionary sParaTemp 请求前的参数数组 Encoding code 字符编码 输出:string 要请求的参数数组字符串 public static string BuildRequest(SortedDictionary sParaTemp, string strMethod, string strButtonValue) 功能:建立请求,以表单HTML形式构造(默认) 输入:SortedDictionary sParaTemp 请求参数数组 string strMethod 提交方式。两个可选:post、get string strButtonValue 确认按钮显示文字 输出:string 提交表单HTML文本 public static string BuildRequest(SortedDictionary sParaTemp) 功能:建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果 输入:SortedDictionary sParaTemp 请求参数数组 输出:string 支付宝处理结果 public static string BuildRequest(SortedDictionary sParaTemp, string strMethod, string fileName, byte[] data, string contentType, int lengthFile) 功能:建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果 输入:SortedDictionary sParaTemp 请求参数数组 string strMethod 提交方式。两个可选:post、get string fileName 文件绝对路径 byte[] data 文件数据 string contentType 文件内容类型 int lengthFile 文件长度 输出:string 支付宝处理结果 public static string Query_timestamp() 功能:用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数 输出:string 时间戳字符串 ────────── 出现问题,求助方法 ────────── 如果在集成支付宝接口时,有疑问或出现问题,可使用下面的链接,提交申请。 https://b.alipay.com/support/helperApply.htm?action=supportHome 我们会有专门的技术支持人员为您处理

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧